如何读取通过代码Draw的图像像素颜色?
例如,通过代码在Panel的paint事件上DrawString或DrawRectangle,这些图像信息显示在Panel上,用什么代码能获取这些图像,输出为Bitmap或BitmapData?
具体看看以下代码:
Dim TempGraphics As Graphics = e.Graphics
Dim TempFont As Font = New Font("Arial", 8)
TempGraphics.DrawString("TestString测试", TempFont, Brushes.Black, New Point(0, 0))
Dim bp As Bitmap = New Bitmap(m_Label.Width, m_Label.Height)
m_Label.DrawToBitmap(bp, New Rectangle(0, 0, bp.Width, bp.Height))
Dim BackColor As Color = m_Label.BackColor
Dim NewRegion As Region = New Region()
For y As Integer = 0 To DrawArea.Height - 1
For x As Integer = 0 To DrawArea.Width - 1
Dim c As Color = bp.GetPixel(x, y)
If c.ToArgb <> 0 Then Debug.Print(c.ToArgb)
Next
Next
bp.Dispose()
我运行的结果是没有输出,bp.GetPixel(x, y).ToArgb的结果都是0,也就是没有读取到panel上的图像。
编程是永无止境的,向大家学习