掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Pens.Transparent で 書いても透明にならない。 (ID:147249)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> ピクチャーボックスがあり、そのバックカラーは、Transparentです。 BackColor = Transparent は、コントロール自体を透過させるためのものではありません。 親コントロール(この場合は Form)の背景色や画像が、そのコントロールの 背景として自動描画されるというだけです。 http://www.vb-user.net/junk/replySamples/2010.12.07.17.15/Transparent.png > Dim PenBack As Pen = Pens.Transparent > として、絵の中に、線をかきますが、 白い背景に半透明な赤ペンで描画した場合、その部分は桃色になります。 青い背景に半透明な赤ペンで描画した場合、その部分は紫色になります。 Pens.Transparent で描画した場合、完全透過なので描画結果は変わりません。 これは、Graphics の CompositingMode プロパティの値が、 初期値 SourceOver に設定されているためです。 背景とブレンドさせず、元のペンの色そのままで上書きさせたい場合は、 これを SourceCopy に変更してから描画してみてください。 http://dobon.net/vb/dotnet/graphics/alphabland.html > フォームのTransparentkeyは、黒になってます。 フォームの TransparencyKey の事でしょうか。 描画した箇所を レイヤード ウィンドウ としてくり抜く場合、 描画結果の色が 1bit でも違うと透過されないので注意してください。 フォームに TextBox を貼り付けておき、TransparencyKey を黒にして、 文字入力してみると、文字の黒い部分がくり抜かれるかと思います。 今回の場合、透明色を使って描画するのではなく、TransparencyKey に指定した 不透過色(Colors.Black / Pens.Black 等)を使って描画してやれば良いかと。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.