【VB声明】
  Private Declare Function StretchBlt Lib "gdi32" Alias "StretchBlt" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long【说明】
  将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。这个函数会在设备场景中定义一个目标矩形,并在位图中定义一个源图象。源矩形会根据需要进行伸缩,以便与目标矩形的大小相符 【返回值】
  Long,非零表示成功,零表示失败。会设置GetLastError 【备注】
  可用GetDeviceCaps函数判断特定的设备场景是否支持此函数
  不可选择对源位图进行剪切或旋转处理,源位图也不能是一个图元文件设备场景【参数表】
  hdc ------------  Long,目标设备场景  x,y ------------  Long,目标矩形左上角的x,y坐标,以逻辑坐标表示  nWidth,nHeight -  Long,目标矩形的宽度和高度,以逻辑坐标表示  hSrcDC ---------  Long,源设备场景。如光栅运算未指定一个源,则这个参数应为零  xSrc,ySrc ------  Long,用源DC的逻辑坐标表示的源矩形左上角位置  nSrcWidth,nSrcHeight -  Long,分别指定用逻辑单位(以源DC为基础)传输的一幅图象的宽度和高度。如其中有一个参数的符号(指正负号)与对应的目标参数不符,位图就会在对应的轴上作镜像转换处理  dwRop ----------  Long,传输过程中进行的光栅运算。如刷子属于光栅运算的一部分,就使用选入目标DC的刷子

解决方案 »

  1.   

    例子:
    '将Pic1中的图片伸缩复制到Pic2
    'Pic1:PictureBox。有图片
    'Pic2:PictureBox。没有图片Pic1.ScaleMode=3
    Pic2.ScaleMode=3Call StretchBlt Pic2.hDC, 0, 0, Pic2.ScaleWidth, Pic2.ScaleHeight, Pic1.hDC, 0, 0, Pic1.ScaleWidth, Pic1.ScaleHeight, vbSrcCopy
      

  2.   

    真是我的荣幸,关于Api函数StretchBlt,zyl910(910:分儿,我来了!)已经讲得够清楚了,我只是把我紧急编的那个程序给你发过去,OK?
      

  3.   

    谢谢各位,thirdapple(第三只苹果)你的程序已收到,发现把图像放大到一定尺寸会出现“不能创建 AutoRedraw 图象(错误 480)”的错误(我的内存是128M的,内存大可能不一样),同时内存也耗得厉害:),正在想解决办法,想到一定通知你,如果你想到了能否也告知我?See you later!