問題如下:
    1、我在Form1上有個Picturebox,同時上面有打印的數據(生成了打印預覽模式),picturebox比屏幕要大(17''1024*768),現在我要將picturebox抓取成一個圖片,到另外一個窗體,到Form2中的picturebox中顯示,
    2.同時我在form2中有按鈕對它進行顯示成200%,300%(因為圖片太小,需要進行放大)==。    請問大家:怎麼抓取然後存在內存中,另外如何再到Form2中的picturebox中顯示出來?並且可以對它進行放大?

解决方案 »

  1.   

    1,先保存为临时文件吧,(savepicture方法),然后到form2再读取(loadpicture)。
      并且源picture1的autodraw要设置为auto,2,用PaintPicture可以缩放不知道1有没有更好的方法
      

  2.   

    我的网站上有类似问题的源码;http://www.j2soft.cn/VB资料->查询“图形编辑与打印”。
    ====================
    免费的学习交流网站,欢迎大家访问!
    http://www.j2soft.cn/
      

  3.   

    看http://community.csdn.net/Expert/TopicView3.asp?id=4382834里我的回复
      

  4.   

    "SetBitmapBits:
     vb声明: Declare Function SetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
     作用: "将来自缓冲区的二进制位复制到一幅位图"
     参数: hBitmap Long,位图的句柄 
      dwCount Long,欲复制的字节数量 
      lpBits Any,指向一个缓冲区的指针。这个缓冲区包含了为位图正确格式化的位图位 
    GetBitmapBits:
     vb声明: Declare Function GetBitmapBits Lib "gdi32" (ByVal hBitmap As Long, ByVal dwCount As Long, lpBits As Any) As Long
            作用: "将来自位图的二进制位复制到一个缓冲区"
     参数: hBitmap Long,位图的句柄 
      dwCount Long,欲复制的字节数。如设为零,表示取得位图中的字节数 
      lpBits Any,指向容纳位图位的一个缓冲区的指针。注意事先将缓冲区至少初始化成dwCount个字节 "至于图形的缩放,如果要求不高可以这样实现,用一个picture控件作容器再放一个image控件,将图像控件(image1)的stretch属性设为true,可实现控件中图片大小随imagel控件大小的变化而变化,以达到了使图片动态缩放的效果。
      

  5.   

    //謝謝樓上的回復,但是我覺得隻是顯示預覽一個圖片而已,那樣安裝其他的插件有點麻煩。那你就在模块中定义一个全局变量(stdpicture类型,比如public mpic as stdpicture),
    需要保存的时候:
    set mpic=form1.picture1.image
    需要在form2上显示的时候:
    set form2.picture1.picture=mpic
      

  6.   

    謝謝回復,現在我調用Windows自帶的瀏覽器瀏覽好了,