| ■No23998 (便乗マン「 さん) に返信 > ■No23985 (鶏唐揚 さん) に返信 >>描画処理は通常Paintイベントに書きます。 >> >>なぜなら1回描画してそれっきりでは他フォームが乗ったり隠れたりしたとき消えるからです。 > > 失礼ながら私も勉強させていただきます。 > private void Form1_Paint(object sender, PaintEventArgs e)に書いてみました。 > キャラクターは描画されますが、ちらつきがおこります。 > なぜなのでしょうか?
pictureBoxに画像を読み込むようにするとちらつきはなくなりましたが、 指定した色を透過できません。
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(); } |