C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: Jpeg画像上に透過Gifを重ねて表示させたい


(過去ログ 28 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■13081 / inTopicNo.1)  Jpeg画像上に透過Gifを重ねて表示させたい
  
□投稿者/ Kao (1回)-(2008/01/24(Thu) 09:57:14)

分類:[C#] 

環境:C#2005

Jpeg画像とGif(部分的に透過あり)画像があります。
Jpeg上にGifを重ね合わせて表示させたいのですが、
どのような手法があるのでしょうか?

もちろん、Gif透過部分は透けて、
下にあるJpeg画像が見えるようにしたいです。

なお、画面上への表示だけでよく、
合成された画像ファイルを生成する必要はありません。

# 実際にはGifは複数あり、例えば、
# ボタン1を押したら、Jpeg上にGif1を表示、
# ボタン2を押したら、Jpeg上にGif2を表示…
# という風に切り替えて見せたいのが最終目標です。

よろしくお願いいたします。
引用返信 編集キー/
■13082 / inTopicNo.2)  Re[1]: Jpeg画像上に透過Gifを重ねて表示させたい
□投稿者/ Hongliang (228回)-(2008/01/24(Thu) 10:07:16)
自分で描画するのが手っ取り早いでしょう。
Bitmap インスタンスを新しく作って、それから Graphics を作って二枚の絵を DrawImage。
// Graphics の CompositingMode に注意。
引用返信 編集キー/
■13087 / inTopicNo.3)  Re[2]: Jpeg画像上に透過Gifを重ねて表示させたい
□投稿者/ やじゅ (29回)-(2008/01/24(Thu) 10:37:19)
PictureBoxあたりではダメでしょうか?
PictureBox.BackColorにColor.Fromargb(0)を指定すると透明になります。

または

Imageコントロール
http://homepage1.nifty.com/rucio/main/technique/teq_13.htm
引用返信 編集キー/
■13098 / inTopicNo.4)  Re[3]: Jpeg画像上に透過Gifを重ねて表示させたい
□投稿者/ Kao (2回)-(2008/01/24(Thu) 12:31:01)
>Hongliangさん

ありがとうございます。
でも、具体的にどうやれば良いのか、
イメージがつかめませんでした(^^;;
せっかく教えていただいたのにすみません。


>やじゅさん
ありがとうございます。
やり方がわかったので試してみましたが、
透過させることができませんでした。

3の作業が間違っているように思うのですが、
どのようにしたら良いのか検討つきません。
助言をお願いいたします。

1.フォームにPictureBoxを2つ貼り付け、
  PictureBox1の上にPictureBox2が重なるように配置し、
2.PictureBox1のimageプロパティにJpegを読み込み、
3.PictureBox2のimageプロパティに透過gifを読み込み、
4.下記のようにフォームロードに設定
   private void Form1_Load(object sender, EventArgs e)
   {
      pictureBox2.BackColor = Color.FromArgb(0);
   }
5.実行するも、PictureBox2の背景は灰色のまま。


引用返信 編集キー/
■13100 / inTopicNo.5)  Re[4]: Jpeg画像上に透過Gifを重ねて表示させたい
□投稿者/ やじゅ (31回)-(2008/01/24(Thu) 12:55:56)
2008/01/24(Thu) 13:04:19 編集(投稿者)
2008/01/24(Thu) 13:04:16 編集(投稿者)

No13098 (Kao さん) に返信
> 5.実行するも、PictureBox2の背景は灰色のまま。
>

PictureBox2コントロールの親コントロールを、フォームではなくPictureBox1コントロールに設定すればよい。
http://www.atmarkit.co.jp/fdotnet/dotnettips/221translabel/translabel.html

Me.PictureBox2.Parent = Me.PictureBox1

注意として、表示位置の調整が必要となります。

上記方法なら、プロパティのBackColorにColor.Transparentとしても透明になりましたね。
引用返信 編集キー/
■13101 / inTopicNo.6)  Re[5]: Jpeg画像上に透過Gifを重ねて表示させたい
□投稿者/ Kao (3回)-(2008/01/24(Thu) 13:04:10)
2008/01/24(Thu) 13:04:27 編集(投稿者)

>やじゅ さん

親子関係があったんですね。
とても勉強になりました。
ありがとうございました!


解決済み
引用返信 編集キー/
■13102 / inTopicNo.7)  Re[6]: Jpeg画像上に透過Gifを重ねて表示させたい
□投稿者/ Kao (4回)-(2008/01/24(Thu) 13:15:07)
>やじゅ さん

>Color.Transparentとしても透明になりましたね。
これ、わかりやすくて良いですね。
これにしたいと思います(^-^)

すみません…表示位置の調整でつまづいています。

「親の中の子の為にズレる」と判断して、
marginをゼロにしてみましたがズレたままです。

どのように調整したら良いのでしょうか…



引用返信 編集キー/
■13105 / inTopicNo.8)  Re[7]: Jpeg画像上に透過Gifを重ねて表示させたい
□投稿者/ Kao (5回)-(2008/01/24(Thu) 13:33:43)
marginでなくてLocationを0,0にしたらズレがなおりました。
ありがとうございました!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -