现在在做这个项目.在网上找死找活都找不到相关资料.所以求助于各位大虾帮忙了啊,我的代码如下所以:
  private void axZKFPEngX1_OnFingerTouching(object sender, EventArgs e)
        {
            
            Graphics pcb1 = pictureBox1.CreateGraphics();
            int i = pcb1.GetHdc().ToInt32();
            axZKFPEngX1.PrintImageAt(i, pictureBox1.Width + 6, pictureBox1.Height + 6,axZKFPEngX1.ImageWidth, axZKFPEngX1.ImageHeight);
            pcb1.Dispose();
       
        }PS:可以保存获取的图像的但是就是无法在pictureBox1中显示图像。

解决方案 »

  1.   

    既然能保存获取的图像,那直接把它的地址给pictureBox1的imagesrc不就可以了吗
      

  2.   

    axZKFPEngX1.PrintImageAt这个方法,第一个参数是什么类型?如果是Hdc,上面就不要ToInt32了。
      

  3.   

    TO: dancignbit
      提示是int类型的 
      

  4.   

    还有就是我调试的时候,发现int i = pcb1.GetHdc().ToInt32(); 的i值是变化的 第一次和第二次是不一样的,这个是正常么?
      

  5.   

    你试着把前面的ToInt32去掉再试试看。
    值变化是正常的。
      

  6.   

    TO: dancignbit 
      吧ToInt32去掉的话会提示 无法将类型“System.IntPtr”隐式转换为“int”。存在一个显式转换(是否缺少强制转换?) D:\VS2005项目\Sensor\Sensor\Form1.cs 错误
      

  7.   

    你必须确定 PrintImageAt 第1个参数是 DC 还是别的什么[DllImport("user32.dll", CharSet = CharSet.Auto)]
            public static extern IntPtr GetDC(IntPtr hWnd);
                IntPtr _DcIntPrt = GetDC(button1.Handle);
            axZKFPEngX1.PrintImageAt(_DcIntPrt.ToInt32(), pictureBox1.Width + 6, pictureBox1.Height + 6,axZKFPEngX1.ImageWidth, axZKFPEngX1.ImageHeight);