タイトル | : Re^2: 画像のトリミングと保存について |
記事No | : 5858 |
投稿日 | : 2007/07/18(Wed) 10:00 |
投稿者 | : ひでと |
ありがとうございます。 > そういう時は、PictureBox2 上に描画するのではなく、 > 別途、Bitmap クラスを生成して、そこの上に描画しては如何でしょう。 > > つまり、PictureBox2.CreateGraphics から Graphics を得るのではなく、 > Dim bmp As New Bitmap(〜) > Dim g As Graphics = Graphics.FromImage(bmp) > のようにするということです。 >
すみません 以下の部分が解らないのですが、もう少し教えてください。 > そうすれば、bmp.Save でファイルに保存することも、 > その bmp を PictureBox2 に表示させることもできるかと。
一応 こんなコードを試してみたのですが Private Sub PicD() Dim newGraphics As Graphics Dim bmp As Bitmap Dim l As Single Dim t As Single Dim rf As Rectangle Try bmp = New Bitmap(PictureBox1.Width, PictureBox1.Height) bmp = PictureBox1.Image newGraphics = Graphics.FromImage(bmp)
l = PictureBox2.Left - PictureBox1.Left t = PictureBox2.Top - PictureBox1.Top rf.X = l rf.Y = t rf.Width = PictureBox2.Width rf.Height = PictureBox2.Height
newGraphics.DrawImage(bmp, 0, 0, rf, GraphicsUnit.Pixel) newGraphics.ExcludeClip(rf) PictureBox2.Image = bmp Catch ex As Exception End Try End Sub このコードでは bmpは元のPictureBox1.Image のままになってしまいます。 Graphicsを元にPictureBox2.Image を書き換える処理が必要かと思ったのですが Graphicsの説明にはそれにあたるところが見つけられませんでした。 よろしくお願いします。
|