手机
当前位置:查字典教程网 >编程开发 >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# 图片与二进制转换的简单实例

C#生成注册码的实例代码

C# 汉字转化拼音的简单实例代码

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

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

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

C#之IP地址和整数互转的小例子

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

C#中通过API实现的打印类 实例代码

精品推荐
分类导航