背景色を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
ツイート | ![]() |