- PR -

PictiureBoxの透過

1
投稿者投稿内容
ayuayu
会議室デビュー日: 2003/10/23
投稿数: 2
投稿日時: 2003-10-23 18:51
VB.NETにおいてPictureBoxを透過する方法を調べてます。

PictureBoxを重ねて表示し、下層のPictureBoxにはイメージを表示し、
上層のPictureBoxをマーキング情報として利用しようとしております。

が、PictureBoxが透過できずに困ってます。

透過gifを貼り付けてみたり、BackColorにColor.Transparentを設定
してみたり、やってみましたがまったくうまくいきませんでした。
実現可能なのでしょうか?いろいろ調べて見ましたが手段が見つかり
ません。ご存知の方おられましたらお教えください。

OS:WindowsXP
rvmx
大ベテラン
会議室デビュー日: 2002/09/26
投稿数: 184
お住まい・勤務地: 愛媛県
投稿日時: 2003-10-24 13:39
今日は

的外れかも知れませんが、私の知っている範囲では下記の方法です。
1.Formの透過を使う方法
 透過させる画像をFormのTransparercykeyとopacityを使い、
 Formboderstyle=noneで作成し、Topmost=trueで下層の上に重ねる。
 使いづらいと思います。
2.Graphicsのアルファブレンドで、透過した様な画像を作成。

mito
ベテラン
会議室デビュー日: 2002/05/17
投稿数: 50
投稿日時: 2003-10-24 14:41
PictureBoxを重ねているということは、PictureBox上に配置したコントロールなのでしょうか?
別のコントロールで背景が透過にならなかったときに参考にしたページです。
ちょっと試してみてください。

・PictureBox上のLabelの背景が透明にならない問題の解決法(どぼん!の .NET Tips)
http://dobon.net/vb/dotnet/control/labelonpicturebox.html
ayuayu
会議室デビュー日: 2003/10/23
投稿数: 2
投稿日時: 2003-10-26 10:10
rvmxさん、mitoさん、どうもありがとうございます。

実現したかったことは、画像に対して円を使ったマーキングを行いたかったのです。
画像上に円を書く・円のサイズを変更する・円の位置を変更する等を行う必要があり
ました。JAVA版とVB版を作成する必要があり、JAVA版の方で透過JIGを使用して実現
していたので、VB版も同様のやり方で行おうとしましたが、上に重ねる画像の透過を
させることができず、結局DrawEllipseで自前で円を書いて処理を実現させました。
(私の担当はVB版で、JAVA版は別の担当者が行ってます)

どぼんさんのとこは、わたしもちょくちょくのぞいてました。labelの透過をやって
みたらうまく透過できたのですが、画像を利用できないということと、DrawEllipse
で円を描けない(?)のであきらめました。が、今後のためにも知っておくべき情報だ
と思ってます。

私事なのですが、VB.NETでの開発が今回初めてで、VBはそこそこできるのでなんとか
なるとおもってました。しかし、あまりの違いに四苦八苦です(笑)
新しい言語と思って、もっとしっかり準備をすべきでした。ここを利用して、どんど
こいろんなことを吸収できるようにしないと・・・

貴重なお時間ありがとうございました!!
Syhin
会議室デビュー日: 2004/10/15
投稿数: 2
投稿日時: 2005-06-28 09:47
サンプルがありました。参考にして下さい。
(ですが、将来的にVB.NETで使用できるかわからない方法らしいです。)
僕もVB.NETをはじめたばかりなのでお互い頑張りましょう!!

http://www.vb-helper.com/howto_net_maketransparent.html
1

スキルアップ/キャリアアップ(JOB@IT)