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

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

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

2つのイメージの透明化


(過去ログ 4 を表示中)

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

■2867 / inTopicNo.1)  2つのイメージの透明化
  
□投稿者/ nish 伍長(52回)-(2006/03/20(Mon) 12:53:51)

分類:[C#] 


分類:[C#] 

2つの画像を重ねて表示する処理を作成しています。

pictureBox1のBackgroundImage、Imageを使用し、
別スレッドで各々を更新していますが
稀にぶつかってしまうようで
「このオブジェクトは現在ほかの場所で使用されています。」
と、落ちてしまいます。

ですので、改善案として
pictureBox1(上)、pictureBox2(下)を重ねて表示しようと思うのですが、
pictureBox1の透過部分がBackColorで塗られてしまい
pictureBox2が見えなくなってしまいます。
BackColorを消すにはどうすればいいのでしょうか?

(又は、ぶつからない対策法はありますか?)



0
引用返信 編集キー/
■2868 / inTopicNo.2)  Re[1]: 2つのイメージの透明化
□投稿者/ まどか 曹長(91回)-(2006/03/20(Mon) 13:21:09)

分類:[C#] 

> 稀にぶつかってしまうようで
これは他人事ではありません。
ぶつかるコードであるためです。
よって、
> ですので、改善案として
改善ではなく回避しなくてはなりません。

ヘルプで「スレッド処理」を一通り読んでおかれる事をお勧めします。

0
引用返信 編集キー/
■2872 / inTopicNo.3)  Re[2]: 2つのイメージの透明化
□投稿者/ YAS 一等兵(21回)-(2006/03/20(Mon) 14:10:02)
YAS さんの Web サイト

分類:[C#] 

nishさん,こんにちは。
基本的にまどかさんのおっしゃる通りだと思います。

>pictureBox1(上)、pictureBox2(下)を重ねて表示しようと思うのですが、
>pictureBox1の透過部分がBackColorで塗られてしまい
>pictureBox2が見えなくなってしまいます。
>BackColorを消すにはどうすればいいのでしょうか?

こちらも気になると思いますので...
背景にしたいコントロールを親コントロールに設定して,
背景色を透明にします。

Me.PictureBox1.Parent = Me.PictureBox2
Me.PictureBox1.BackColor = Color.Transparent

ただ,これは本当に透明になっているのではなくて,背景に親コントロールの
画像を描画しているだけなので,タイミングによっては透明にならないことも
あります。


0
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -