C#的bitmap,如果让一个像素透明,而不影响其他像素?
本帖最后由 ilovecomputer66 于 2023-1-20 11:07 编辑单纯 bitmap.setPixel(x, y, Color.FromArgb(0, r,g,b)
并没有任何效果,必须加上 bitmap.MakeTransparent(Color.FromArgb(0, r,g,b)); 才能
但这样,就有问题了。整个图片中其他任何像素,只要等于上面那个颜色,但本身alpha哪怕并没有设为0即透明的,最终转为png图片输出,也会被透明掉。等于其他相同rgb颜色的像素会无辜中枪,也透明掉
就感觉需要 bitmap.MakeTransparent 很奇怪。单独设置一个像素透明就不行么?
还是说,应该是其他处理办法呢? 请指点:如何在C#中用bitmap操作一个图片,使得指定像素变透明后输出为png (不允许使其他无辜不想操作的像素也透明掉)
(但请不要说,透明色选个整张图片都没有的RGB,就没影响了。这反正不是什么高效办法,要是我图片足够大,色彩足够多,光随机一个RGB,然后整张图遍历确定没有这个颜色,就已经非常蠢,非常低效,不知道做多少次随机才能成功1次) 这个问题是无解么?一天了也没有大佬指点
页:
[1]