ピクチャーボックスの形状を変更

解決


思考回路はニート寸前  2009-12-10 12:34:56  No: 142964  IP: 192.*.*.*

ピクチャーボックスの形状を画像のキャラクタの画像に合わせて表示したいのですがいい方法が見つかりませんいい方法があれば教えてほしいです。
*透過処理でなくピクチャーボックスの形そのものを変える方法でお願いします。

編集 削除
魔界の仮面弁士  2009-12-10 12:56:08  No: 142965  IP: 192.*.*.*

それが VB.NET だとすれば、PictureBox の Region プロパティを
設定することで、任意の形状に変更することができます。

編集 削除
思考回路はニート寸前  2009-12-10 13:46:59  No: 142966  IP: 192.*.*.*

VB.netです。
下記のように自分で形を指定しなければならないのでしょうか?
自動で画像の形は取得できないでしょうか??
 Dim path As New Drawing2D.GraphicsPath()
 path.AddArc(0, -Me.Height, Me.Width, Me.Height * 2, 0, 180)
 PictureBox1.Region = New Region(path)

編集 削除
魔界の仮面弁士  2009-12-10 16:57:21  No: 142967  IP: 192.*.*.*

単純な方法は無いと思います。泥臭い方法になりますが、
画像の各ピクセルを走査して、透過すべき部分と不透過すべき部分を調べ、
それを継ぎ合わせて一つのリージョンとする手法が知られています。
http://youryella.wankuma.com/Library/Extensions/Label/Transparent.aspx

なお、画像が固定的な場合には、毎回リージョンを作成しなおさずとも、
一度作成した Region を、RegionData 経由でバイナリデータに
永続化することができます。

編集 削除
思考回路はニート寸前  2009-12-10 17:18:23  No: 142968  IP: 192.*.*.*

ありがとうございま解決しました。

編集 削除
進歩ナッシング♪  2009-12-10 18:49:44  No: 142969  IP: 192.*.*.*

1つのpictureBoxでやれよ。進歩ないなぁ。
ぼくちんはアイレム社員に教えてもらいましたね。
1カ月で意味を理解しましたけど♪
才の上限値が、キミの場合はアレだ。アハハ
クリックイベントとか、まぁアレだな、コントロールを沢山使えば簡単そうには思えるんだろうけど。
まぁ、何を書いてもムダな感じですね。ケタケタ。

編集 削除
他人のふんどし  2009-12-11 14:43:04  No: 142970  IP: 192.*.*.*

>単純な方法は無いと思います。泥臭い方法になりますが
今後は、こうしたものがライブラリに組み込まれるか
もっと簡単に作成できるようになるような気がしますが
いかがなものでしょう?

編集 削除
murasaki式部  2009-12-11 19:33:06  No: 142971  IP: 192.*.*.*

どうせ、すぐ挫折でしょ。
次の項目でも挫折でしょう。
基礎ができないと、永久に無理。^2

編集 削除
紫式部(蛸さん♪)  2009-12-11 19:42:22  No: 142972  IP: 192.*.*.*

るきおのトコでマタマタ。。。アレだな^^;
pictureBox1とかBox2とか、あいかわらず配列がわからず、入門者丸出し。
基礎をやれよ。グルグル同じトコを回るアレだな。

別にうらみとか無いよ。
基礎ができねぇ〜と時間が浪費して、もったいないだけですよ。
中島の「すしルーレット」くらいで遊んがらどうだ?
幼稚園級だし、optionStrictOffだしな。

編集 削除
わらっちゃうね  2009-12-11 20:16:17  No: 142973  IP: 192.*.*.*

おかしなのが一匹いますね。
こういうのは出入り禁止にしたほうがよいと思いますよ

編集 削除
ガッツ  2009-12-11 20:24:00  No: 142974  IP: 192.*.*.*

荒らしているのは、高校生くらいのガキだな。
こんなところでストレス解消しないで、勉強しろ。
管理人さんもこういうレスは削除、かつ出入り禁止の処置をした
ほうがいいでしょう。
わんくまで閉め出させれているはずですから

編集 削除
YuO  2009-12-11 22:45:27  No: 142975  IP: 192.*.*.*

>>単純な方法は無いと思います。泥臭い方法になりますが
>今後は、こうしたものがライブラリに組み込まれるか
>もっと簡単に作成できるようになるような気がしますが
>いかがなものでしょう?

残念ながら,WinFormsはメンテナンスフェーズに入ったとされているため,
よっぽどのことが無い限り機能追加はないでしょう。

.NET Framework 4 β2の新機能としても,WPFについては記述がありますが,WinFormsについては記述がありません。
Windows 7のマルチタッチ機能も,WPF4では対応していますが,WinFormsでは標準動作のみの対応になります。
# つまりは,「タッチ」としての認識は不可。

編集 削除
他人のふんどし  2009-12-12 08:59:37  No: 142976  IP: 192.*.*.*

YuOさん、丁寧に説明していただき感謝します。
有り難うございました。

編集 削除