C# 將透明圖片的非透明區(qū)域轉(zhuǎn)換成Region的實例代碼
更新時間:2013年10月08日 14:33:32 作者:
以下代碼實現(xiàn)將一張帶透明度的png圖片的非透明部分轉(zhuǎn)換成Region輸出的方法,有需要的朋友可以參考一下
需要設(shè)置允許不安全代碼.....項目->屬性->生成->允許不安全代碼
復(fù)制代碼 代碼如下:
/// <summary>
/// 根據(jù)圖片得到一個圖片非透明部分的區(qū)域
/// </summary>
/// <param name="bckImage"></param>
/// <returns></returns>
private unsafe Region GetRegion(Bitmap bckImage)
{
GraphicsPath path = new GraphicsPath();
int w = bckImage.Width;
int h = bckImage.Height;
BitmapData bckdata = null;
try
{
bckdata = bckImage.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb);
uint* bckInt = (uint*)bckdata.Scan0;
for (int j = 0; j < h; j++)
{
for (int i = 0; i < w; i++)
{
if ((*bckInt & 0xff000000) != 0)
{
path.AddRectangle(new Rectangle(i, j, 1, 1));
}
bckInt++;
}
}
bckImage.UnlockBits(bckdata); bckdata = null;
}
catch
{
if (bckdata != null)
{
bckImage.UnlockBits(bckdata);
bckdata = null;
}
}
Region region = new System.Drawing.Region(path);
path.Dispose(); path = null;
return region;
}
您可能感興趣的文章:
- C#中圖片、二進(jìn)制與字符串的相互轉(zhuǎn)換方法
- C# 圖片與二進(jìn)制轉(zhuǎn)換的簡單實例
- asp.net(c#)實現(xiàn)從sqlserver存取二進(jìn)制圖片的代碼
- C#中圖片.BYTE[]和base64string的轉(zhuǎn)換方法
- 詳談C# 圖片與byte[]之間以及byte[]與string之間的轉(zhuǎn)換
- C#簡易圖片格式轉(zhuǎn)換器實現(xiàn)方法
- C#將圖片和字節(jié)流互相轉(zhuǎn)換并顯示到頁面上
- C#實現(xiàn)的圖片、string相互轉(zhuǎn)換類分享
- c# Base64編碼和圖片的互相轉(zhuǎn)換代碼
- C# 將字節(jié)流轉(zhuǎn)換為圖片的實例方法
- C#實現(xiàn)把圖片轉(zhuǎn)換成二進(jìn)制以及把二進(jìn)制轉(zhuǎn)換成圖片的方法示例
相關(guān)文章
Unity?AssetPostprocessor模型函數(shù)Model實用案例深入解析
這篇文章主要為大家介紹了Unity?AssetPostprocessor模型Model函數(shù)實用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
基于WebClient實現(xiàn)Http協(xié)議的Post與Get對網(wǎng)站進(jìn)行模擬登陸和瀏覽實例
這篇文章主要介紹了基于WebClient實現(xiàn)Http協(xié)議的Post與Get對網(wǎng)站進(jìn)行模擬登陸和瀏覽的方法,以實例形式詳細(xì)分析了WebClient模擬POST與GET登陸與瀏覽的過程,對于C#項目開發(fā)來說具有不錯的參考借鑒價值,需要的朋友可以參考下2014-11-11
DevExpress實現(xiàn)TreeList向上遞歸獲取符合條件的父節(jié)點(diǎn)
這篇文章主要介紹了DevExpress實現(xiàn)TreeList向上遞歸獲取符合條件的父節(jié)點(diǎn),需要的朋友可以參考下2014-08-08

