C# 如何从位图中删除白色背景色

C# 如何从位图中删除白色背景色,c#,image,background,bitmap,picturebox,C#,Image,Background,Bitmap,Picturebox,我想删除位图中的白色背景色 Bitmap capcha = new Bitmap("C:/image.jpg"); pictureBox1.Image = capcha; 但是我想在我的图片中只显示背景中不带白色的图像。请尝试在capcha中设置透明度,如下所示: Bitmap capcha = new Bitmap(@"C:/image.jpg"); capcha.MakeTransparent(Color.White); pictureBox1.Image = capcha; 我希望这就

我想删除位图中的白色背景色

Bitmap capcha = new Bitmap("C:/image.jpg");
pictureBox1.Image = capcha;

但是我想在我的图片中只显示背景中不带白色的图像。请尝试在capcha中设置透明度,如下所示:

Bitmap capcha = new Bitmap(@"C:/image.jpg");
capcha.MakeTransparent(Color.White);
pictureBox1.Image = capcha;

我希望这就是你所需要的。

你知道32位PNG支持透明背景,是吗?谢谢你的回答,但我认为jpg不是PNG:)@spender是对的,使用.PNG而不是.jpg,这会在JPEG上产生奇怪的结果,因为它充满了“不完全是白色”而不是“白色”的压缩伪影.你说得对,但问题是“如何去除白色背景”。你应该避免那些“不完全是白色”的像素,或者找到其他方法;jpeg上的背景绝不仅仅是“白色”,但你可以假设他们仍然希望删除所有背景。显然,你可以创建没有中间像素的.jpg图像。你们只需要调整你们的图像质量(简单的样本)哦,我不是有意批评;我只是说jpeg格式的使用使这个操作复杂化了。