我的屏幕上有一个.net PictureBox,可以通过签名板输入设备实时创建图像。
我试图从图像中获取字节以保存但由于PictureBox始终处于打开状态,因此我无法获取.Image属性,因为它始终为NULL。
有没有办法以某种方式关闭PictureBox,以便从中获取图像?
这是我尝试获取字节的地方,但由于实时创建,.Image为NULL:
private void btnConfirm_Click(object sender, EventArgs e)
{
byte[] imgData = null;
// storage for the img bytes
picSignature.Update();
imgData = ImgToByteArray(picSignature.Image, ImageFormat.Jpeg);
SerialPortListener.MainForm._imagevalues = imgData;
this.Close();
}
这是我认为写下签名的代码:
private void SignatureDataHandler(Int32 xAxis, Int32 yAxis, Int32 pressure, Int32 timeStamp)
{
long x;
long y;
Pen myPen = new Pen(Color.Black, 1);
x = (picSignature.Width * (xAxis - g_xMin)) / (g_xMax - g_xMin);
y = (picSignature.Height * (yAxis - g_yMin)) / (g_yMax - g_yMin);
if ((x > picSignature.Width) || (x < 0))
{
MessageBox.Show("problem");
}
if (0 != pressure)
{
if (g_fFirstTouch)
{
g_PicGraphics.DrawLine(myPen, x, y, x, y);
g_fFirstTouch = false;
}
else
{
g_PicGraphics.DrawLine(myPen, g_lastX, g_lastY, x, y);
}
}
else
{
g_fFirstTouch = true;
}
g_lastX = x;
g_lastY = y;
}