| ■No24046 (便乗マン「 さん) に返信 > pictureBoxに画像を読み込むようにするとちらつきはなくなりましたが、 > 指定した色を透過できません。
なんか、何をやってるのかよくわかんないコードになってしまっていますが… 各行の意図を説明できますか?
ひょっとして、やりたいことは、2.jpg の黒い部分を透過させて PictureBox に描画したいということでしょうか? であれば、MakeTransparent が 2.jpg に対して呼ばれていませんので、透過しないのは当然かと。
new Bitmap( "2.jpg" ) で作った Bitmap に対して MakeTransparent してから PictureBox.Image にセットするとどうなりますかね?
ところで、jpeg って透過処理には向かない気がしますが。
> private void Form1_Load(object sender, EventArgs e) > { > //画像の読み込み > Bitmap bmp = new Bitmap(pictureBox1.Width,pictureBox1.Height); > //黒を透明色とする > bmp.MakeTransparent(Color.Black); > pictureBox1.Image = bmp; > > Graphics g = Graphics.FromImage(pictureBox1.Image); > Image img = Image.FromFile("c:\\2.jpg"); > g.DrawImage(img, 0, 0); > img.Dispose(); > > g.Dispose(); > > }
|