诸位老大好,
小弟想建了两个图片框,想将源图片框的图片(989*1476)放大3倍到目标图片框,老出现题目中说的提示,怎么解决啊。MSDN上说有可能是内存不足,这个需要很大的内存吗?。倍数若小一点(如1.5),有时候不出提示但是目标图片框中的图片又不完整,我该怎么办啊?
PS:我又不能将源图片框的AUTODRAW设为FALSE,那样的话只能显示源图中可见的部分,想必大家都明白。
有没有别的API函数可以实现我的功能?哪怕麻烦一点都可以,大家给个思路吧。

解决方案 »

  1.   

    ss = StretchBlt(Picture3.hDC, 0, 0, Picture3.ScaleWidth, _
            Picture3.ScaleHeight, Picture1.hDC, 0, 0, _
            Picture1.ScaleWidth, Picture1.ScaleHeight, vbSrcCopy)
    其实说到底就这一句话。(Picture3为目标图片框)
    放大一些小图片还可以,但如果我想在另一个图片框 中显示这个图片框 的细节,即放大巨图,就会出错,没有人试过放巨图吗?如果出现问题了怎么解决啊。
    多谢大哥们!
      

  2.   

    autoredraw这个东西要甚用,有可能引起内存泄漏建议你分片放大,另外你可以找来zyl910的平滑放大的例子程序看看
    号称是比汇编还快的,还有质量也很高
      

  3.   

    同意楼上的参考:
    http://www.dapha.net/down/list.asp?id=1967