如何在PictureBox中将JPG的白色部分透明化

时间:2013-04-10 00:44:27

标签: c# transparency picturebox

我有一张JPG图片并将其放在表格的图片框中,但是,它看起来像这样:

enter image description here

如何才能使图片的白色部分消失,只出现彩色部分?

2 个答案:

答案 0 :(得分:4)

您可以在Bitmap类上使用MakeTransparent方法。所以它会像

Bitmap b = new Bitmap("img.jpg")
b.MakeTransparent(Color.White);
pictureBox.Image = b;

但我建议您使用PNG而不是JPG,原因如下:a)质量更好(对于这样的图像)c)像这样的图像尺寸较小b)原生支持透明背景。

看看他们之间有什么区别http://www.bing.com/search?setmkt=en-US&q=PNG+vs+JPG

答案 1 :(得分:1)

尝试

    Bitmap bmp = (Bitmap)Image.FromFile( @"C:\your_k.bmp" ); //Load a bitmap from file
    bmp.MakeTransparent(Color.White) //Do the work!
    //if you have a varient color combination you can use RGB Combination as follows
    //bmp.MakeTransparent( Color.FromArgb( 255, 255 255 ) ); //  (255 255, 255) is  white!
    this.pictureBox1.Image = bmp;
    this.pictureBox1.BackColor = Color.Transparent; //makes humbly only your object!