透明Png黑白图片上色(重新着色、改变成指定颜色)

场景:有时,我们需要给透明Png黑白图片改变成指定颜色(上色)。

前提:我们已经做好了带透明通道的PNG图片。

益处:使用此方法,只需要制作一张透明的黑色PNG图片即可,我们需要不同颜色的同样式图片时,直接使用本程序LOAD一个。

话不多说,直接上代码

   public static Bitmap ChangePngColor(string pngFileName, Color destColor)
        {
            Bitmap curBitmap = (Bitmap)Image.FromFile(pngFileName);
            if (curBitmap != null)
            {
                Rectangle rect = new Rectangle(0, 0, curBitmap.Width, curBitmap.Height);
                BitmapData bmpData = curBitmap.LockBits(rect, ImageLockMode.ReadWrite, curBitmap.PixelFormat);
                int c = curBitmap.PixelFormat == PixelFormat.Format32bppArgb ? 4 : 3;
                IntPtr ptr = bmpData.Scan0;
                int numBytes = bmpData.Stride * curBitmap.Height;
                byte[] rgbVal
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值