手机
当前位置:查字典教程网 >编程开发 >C#教程 >C# 将透明图片的非透明区域转换成Region的实例代码
C# 将透明图片的非透明区域转换成Region的实例代码
摘要:需要设置允许不安全代码.....项目->属性->生成->允许不安全代码复制代码代码如下://////根据图片得到一个图片非透明部分的区域//...

需要设置允许不安全代码.....项目->属性->生成->允许不安全代码

复制代码 代码如下:

/// <summary>

/// 根据图片得到一个图片非透明部分的区域

/// </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# 将透明图片的非透明区域转换成Region的实例代码】相关文章:

c# 获取网页中指定的字符串信息的实例代码

C# char类型字符转换大小写的实现代码

C# zxing二维码写入的实例代码

C# 实现简单打印的实例代码

C# Dictionary的使用实例代码

将ocx文件转换成C#程序引用的DLL文件的办法

C# 正则判断一个数字的格式是否有逗号的代码

C#实现协同过滤算法的实例代码

C# 实现阶乘 (递归,非递归) 实现代码

C#反射在实际应用中的实例代码

精品推荐
分类导航