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

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

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

Re[2]: PictureBox上に画像を表示


(過去ログ 170 を表示中)

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

■97997 / inTopicNo.1)  PictureBox上に画像を表示
  
□投稿者/ クローン人間 (1回)-(2021/08/19(Thu) 15:51:45)

分類:[.NET 全般] 


VB.NETに関する質問です。


https://dobon.net/vb/dotnet/graphics/pictureboximage.html
https://dobon.net/vb/dotnet/graphics/pictureboximageanddrawimage.html

ここにあるようなコードを使って、
PictureBox上に画像を表示することができます。


一方で、一度、ビルドしてEXEファイルを実行しないと画像を確認することができません。

デザイナ上で画像を表示して確認したい場合にはどのようにすれば良いですか?

また、そのときにPictureBoxのアスペクト比を画像のアスペクト比と一致させたいのですが
どのようにすれば良いですか?





引用返信 編集キー/
■97998 / inTopicNo.2)  Re[1]: PictureBox上に画像を表示
□投稿者/ 魔界の仮面弁士 (3166回)-(2021/08/19(Thu) 16:27:57)
No97997 (クローン人間 さん) に返信
> 一方で、一度、ビルドしてEXEファイルを実行しないと画像を確認することができません。
> デザイナ上で画像を表示して確認したい場合にはどのようにすれば良いですか?

直接切り替えるような方法はありません。

実行時ではなく、デザイン時の動作を定義したい場合には、
PictureBox を Form に貼って使うのではなく、
「PictureBox を継承した独自のクラス」を作成し、
その独自コントロールを Form に貼って使うという手法になります。
(クラス設計についての最低限の知識が要求されますね)

> また、そのときにPictureBoxのアスペクト比を画像のアスペクト比と一致させたいのですが
> どのようにすれば良いですか?
たとえば PictureBox の SizeMode プロパティだと、
[StretchImage] だとアスペクト比は維持されませんが、
[Zoom] 指定なら、PictureBox 内に収まるようにアスペクト比を維持して表示され、
[AutoSize] 指定なら画像サイズにあわせて PictureBox そのもののサイズが変化しますよね。

OnPaint メソッドをオーバーライドしている場合や、Paint イベントで描画している場合は
SizeMode の動作は直接影響しないので、画像の縦横のサイズからアスペクト比を算出し、
「PictureBox 内に収まるようなサイズで描画する」か
「画像のサイズに合わせて PictureBox をリサイズする」処理を実装しましょう。
引用返信 編集キー/
■97999 / inTopicNo.3)  Re[2]: PictureBox上に画像を表示
□投稿者/ クローン人間 (2回)-(2021/08/19(Thu) 19:03:24)
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.picturebox.image?view=net-5.0

このページの方法でうまくいきました。

ありがとうございます。


解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -