.NET C# 对图片实现黑白积木效果

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

在许多印刷品和艺术品中,常常会看到一种称为“黑白积木”的特殊效果。这种效果让图片看起来像是由一组黑色和白色积木组成的,非常具有视觉冲击力。而在本文中,我们将介绍如何使用.NET C#实现这种效果。

首先,我们需要使用.NET C#中的System.Drawing.Imaging命名空间来处理图片。这个命名空间提供了一些用于图像处理的类和方法,包括:

1.Bitmap类:表示一个位图对象。
2.ColorMatrix类:表示一个矩阵用于变换颜色。
3.ImageAttributes类:表示一组影像属性用于影像操作可能影响影像呈现。


有了这些工具,我们可以很容易地对图片进行黑白积木处理。下面是实现这种效果的基本步骤:

1.读取图片:使用Bitmap类将图片加载到内存中。
2.创建一个ColorMatrix对象并设置矩阵的值,以达到黑白积木效果。ColorMatrix矩阵是一个5x5的矩阵,由32位浮点数值组成,用于转换颜色。
3.创建一个ImageAttributes对象并将ColorMatrix对象赋值给它。
4.使用Graphics类的DrawImage()方法绘制图片,同时将ImageAttributes对象传递给该方法。
下面是一个简单的示例代码,演示如何实现黑白积木效果:

// 读取图片

Bitmap source = new Bitmap(@"C:\Pictures\example.jpg");

// 定义

ColorMatrix 矩阵 float[][] matrix ={ new float[]{ 0.3f, 0.3f, 0.3f, 0, 0 }, new float[]{ 0.59f, 0.59f, 0.59f, 0, 0 }, new float[]{ 0.11f, 0.11f, 0.11f, 0, 0 }, new float[]{ 0, 0, 0, 1, 0 }, new float[]{ 0, 0, 0, 0, 1 } };

// 创建

ColorMatrix 和 ImageAttributes 对象 ColorMatrix colorMatrix = new ColorMatrix(matrix); ImageAttributes imageAttributes = new ImageAttributes(); imageAttributes.SetColorMatrix(colorMatrix);

// 创建目标

Bitmap Bitmap target = new Bitmap(source.Width, source.Height);

// 构建

Graphics 对象 Graphics graphics = Graphics.FromImage(target);

// 绘制图片

graphics.DrawImage(source, new Rectangle(0, 0, source.Width, source.Height), 0, 0, source.Width, source.Height, GraphicsUnit.Pixel, imageAttributes);

// 储存图片

target.Save(@"C:\Pictures\example_mono.jpg");

通过运行以上代码,我们可以将一个彩色图片转换为黑白分明的黑白积木风格的图片。

在本文中,我们介绍了如何使用.NET C#对图片进行黑白积木效果处理。使用.NET C#中的图像处理库和上述几个步骤,您可以很容易地实现这种效果,并将它应用于您的项目中。

下面是一个完整代码:

            Bitmap pic = new Bitmap(zpicone.Image);
            int myWidth, myHeight, i, j, iAvg, iPixel;
            Color myColor, myNewColor;
            RectangleF myRect;
            myWidth = pic.Width;
            myHeight = pic.Height;
            myRect = new RectangleF(0, 0, myWidth, myHeight);
            Bitmap bitmap = pic.Clone(myRect, System.Drawing.Imaging.PixelFormat.DontCare);
            i = 0;
            while (i < myWidth - 1)
            {
                j = 0;
                while (j < myHeight - 1)
                {
                    myColor = bitmap.GetPixel(i, j);
                    iAvg = (myColor.R + myColor.G + myColor.B) / 3;
                    iPixel = 0;
                    if (iAvg >= 128)
                        iPixel = 255;
                    else
                        iPixel = 0;
                    myNewColor = Color.FromArgb(255, iPixel, iPixel, iPixel);
                    bitmap.SetPixel(i, j, myNewColor);
                    j = j + 1;
                }
                i = i + 1;
            }

附件:下载该文件资源,减少时间成本(增值服务)
不商用,只限学习使用,使用后请删除
上传者拥有该资源完整版权,下载既表明已授权您可以进行报备商用,无报备或者使用后报备,视为侵权,报备后使用,为合法有效使用,报备方式,下载后,在下载列表,点击报备,填写使用场景即可
文件部分展示图(单击放大)
.NET C# 对图片实现黑白积木效果.NET C# 对图片实现黑白积木效果.NET C# 对图片实现黑白积木效果
留言
该资源可下载
File Source
.rar
1.58 MB
.NET C# 对图片实现黑白积木效果.NET C# 对图片实现黑白积木效果.NET C# 对图片实现黑白积木效果
最新结算
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
HTML5实现CSS滤镜图片切换特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery+css3实现信封效果
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章