人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VB.NETでフォームの内側だけを無くす(?)方法を教えて下さい。
スクリーンショットを指定のサイズで撮れるようにしようと、Formを境界線はそのままに内側だけを透明にしたいのですが・・・
Me.TransparencyKey = Color.Silverのように、透明色に指定しても、実際撮影すると、シルバーがそのまま写ってしまいます。

●質問者: hokuto0127
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● ぽけっとしすてむ

Me.TransparencyKey = Me.BackColor
で大丈夫な気もしますが、Snipping Toolのようなものを作りたいのでしょうか?
f:id:psne:20111209164656p:image
使用したソースはIT.NET VB.NET - スクリーンショットを取得するには... (2)


hokuto0127さんのコメント
やはり実際撮影してみると、TransparencyKeyとして背景色に指定したカラーがそのまま出てしまいます。 Snipping Toolのようなものをつくることができるんですか? 現在は、Win32APIを使用したスクリーンショットを実装しています。

ぽけっとしすてむさんのコメント
少し発想を変えて、ウインドウを非表示にしてからスクリーンショットを撮り、 ウインドウ部分のビットマップ領域を計算してトリミングする方法もあります。 Snipping Toolは、起動した瞬間のスクリーンショットを撮っているようです。

hokuto0127さんのコメント
なるほど。そんな仕組みだったんですね。 撮影時には、TransparencyKeyは無視されるようです・・・。 いろいろといつも有難うございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ