2013-04-21 4 views
1

Я пытаюсь сохранить содержимое PictureBox в базе данных. Это само по себе хорошо работает, однако после того, как нарисовано поле подписи подписи, оно не устанавливает свойство PictureBox.Image, то есть я не могу продолжать этот процесс.PictureBox.Image имеет значение null при использовании стилуса

Pen myPen; 
    bool bMouseDown = false; 
    Point prevPoint; 
    Graphics gCust; 
    Graphics gTech; 

private void NewJob_Load(object sender, EventArgs e) 
    { 
     myPen = new System.Drawing.Pen(System.Drawing.Color.Black); 
     gCust = pbCustomerSig.CreateGraphics(); 
     gCust.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 
     myPen.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid; 
     myPen.SetLineCap(LineCap.Round, LineCap.Round, DashCap.Round); 
     myPen.Color = Color.Blue; 
     myPen.Width = 2f; 
} 
public static byte[] ImageToBinary(Image image) 
    { 
     Byte[] buffer = (Byte[])new ImageConverter().ConvertTo(image, typeof(Byte[])); 
     return buffer; 
    } 
private void pbCustomerSig_MouseDown(object sender, MouseEventArgs e) 
    { 
     prevPoint = e.Location; 
     bMouseDown = true; 
    } 

    private void pbCustomerSig_MouseMove(object sender, MouseEventArgs e) 
    { 
     if (bMouseDown) 
     { 
      Point thisPoint = e.Location; 
      if (prevPoint.X == 0 && prevPoint.Y == 0) 
      { 
       prevPoint = thisPoint; 
       return; 
      } 
      gCust.DrawLine(myPen, thisPoint.X, thisPoint.Y, prevPoint.X, prevPoint.Y); 
      prevPoint = thisPoint; 
     } 
    } 

    private void pbCustomerSig_MouseUp(object sender, MouseEventArgs e) 
    { 
     bMouseDown = false; 
    } 

Ошибка здесь -

h.CustomerSignature = ImageToBinary(pbCustomerSig.Image); 

Любые идеи, почему свойство PictureBox.Image является нулевым?

Большое спасибо!

ответ

2

Вы не назначили значение для pbCustomerSig.Image. Нормально быть нулевым. Вместо этого старайтесь рисовать в растровое изображение. Here is a sample for drawing on existing bitmap, но вы можете нарисовать пустую растровую карту таким же образом и показать ее на картинке одновременно.

Смежные вопросы