1

PictureBox の内容をデータベースに保存しようとしています。これ自体はうまく機能しますが、署名画像ボックスが描画されると、PictureBox.Image プロパティが設定されないため、プロセスを続行できません。

 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 プロパティが null である理由はありますか?

どうもありがとう!

4

1 に答える 1