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

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

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

PictureBox1の画像の一部をPicturebox2に

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

■97631 / inTopicNo.1)  PictureBox1の画像の一部をPicturebox2に
  
□投稿者/ ブイビー (1回)-(2021/06/16(Wed) 15:35:18)

分類:[.NET 全般] 

PictureBox1の画像の(10,10)(10,20)(20,10)(20,20)
で囲まれた長方形の部分をPictureBox2にコピーする
にはどのように書けばよいでしょうか。
よろしくおねがいいたします〜。
引用返信 編集キー/
■97632 / inTopicNo.2)  Re[1]: PictureBox1の画像の一部をPicturebox2に
□投稿者/ 魔界の仮面弁士 (3134回)-(2021/06/16(Wed) 19:14:44)
No97631 (ブイビー さん) に返信
> PictureBox1の画像の(10,10)(10,20)(20,10)(20,20)
> で囲まれた長方形の部分をPictureBox2にコピーする
> にはどのように書けばよいでしょうか。

pictureBox1 ではなく
PictureBox1 ということは、VB ユーザーでしょうか。


コントロール名からして WinForms と推察しますが、
肝心の PictureBox1 へは、どのようにして画像を表示しているのでしょうか?

・PictureBox1.ImageLocation プロパティ
・PictureBox1.Image プロパティ
・PictureBox1.BackgroundImage プロパティ
・PictureBox1.Paint イベントの e.Grapchis への描画
・PictureBox1.CreageGraphics メソッドの Grapchis への描画

https://dobon.net/vb/dotnet/graphics/pictureboximage.html
https://dobon.net/vb/dotnet/graphics/drawimagetocontrol.html
https://dobon.net/vb/dotnet/graphics/creategraphics.html


そうした元画像の表示手法によって手順が異なってくるわけですが、
たとえばこんな感じでになろうかと思います。

Dim src = Rectangle.FromLTRB(10, 10, 20, 20)

Dim canvas As New Bitmap(src.Width, src.Height)
Using g = Graphics.FromImage(canvas)
  If PictureBox1.Image IsNot Nothing Then
    Dim dst As New Rectangle(0, 0, src.Width, src.Height)
    g.DrawImage(PictureBox1.Image, dst, src, GraphicsUnit.Pixel)
  Else
    g.CopyFromScreen(PictureBox1.PointToScreen(src.Location), Point.Empty, src.Size)
  End If
End Using
PictureBox2.Image = canvas
https://dobon.net/vb/dotnet/graphics/triming.html
引用返信 編集キー/
■97633 / inTopicNo.3)  Re[2]: PictureBox1の画像の一部をPicturebox2に
□投稿者/ ブイビー (2回)-(2021/06/16(Wed) 20:19:34)
元画像の表示方法が関係しているのは目からウロコでした。
大変勉強になりました。
スーパーありがとうございます。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ