ピクチャーの背景色を指定の色にするには?


あつ  2009-07-10 19:07:29  No: 142205  IP: 192.*.*.*

背景色をTextBox1.BackColorの色で保存したいのですが、(0,0)-(640,200)の
背景色が黒になってしまいます。どのようにすればよいのでしょうか?
教えて下さい。

Public Class Form1
    Private cd As New ColorDialog()

    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        cd.Color = TextBox1.BackColor
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Call ImageLoad()
    End Sub

    Sub ImageLoad()
        Dim bmp As Bitmap
        Dim g As Graphics
        Dim img As Image
        Dim d As IDataObject = Clipboard.GetDataObject()
        cd.Color = TextBox1.BackColor
        bmp = New Bitmap(640, 400)
        PictureBox1.Image = bmp
        PictureBox1.BackColor = cd.Color
        g = Graphics.FromImage(PictureBox1.Image)
        img = CType(d.GetData(DataFormats.Bitmap), Image)
        g.DrawImage(img, 0, 200, 640, 400)
        '後片付け
        PictureBox1.Image.Save("c:\test.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)
        img.Dispose()
    End Sub

    Private Sub TextBox1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.DoubleClick
        'はじめに選択されている色を設定
        cd.Color = TextBox1.BackColor
        '色の作成部分を表示可能にする
        'デフォルトがTrueのため必要はない
        cd.AllowFullOpen = True
        '純色だけに制限しない
        'デフォルトがFalseのため必要はない
        cd.SolidColorOnly = False
        '[作成した色]に指定した色(RGB値)を表示する
        cd.CustomColors = New Integer() {&H33, &H66, &H99, _
            &HCC, &H3300, &H3333, &H3366, &H3399, &H33CC, _
            &H6600, &H6633, &H6666, &H6699, &H66CC, _
            &H9900, &H9933}
        'ダイアログを表示する
        If cd.ShowDialog() = DialogResult.OK Then
            '選択された色の取得
            TextBox1.BackColor = cd.Color
        End If
    End Sub

End Class

編集 削除