tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: 画像のトリミングと保存について
投稿日: 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の説明にはそれにあたるところが見つけられませんでした。
よろしくお願いします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。