请问如何在内存中把图片剪裁为固定尺寸? 比如把1000 x 600的图片剪裁为500 x600的图片, 并保存在byte中, 以备下一步处理1> 最好用Byte、剪切板、DIB等, 用picturebox太慢(我的图片尺寸一般都超过10M, 1000 X 5000象素以上)
2> 图片是不能显示的, 图片数组只用于后台处理. 
3> 速度越快越好, 我的程序需要在后台做大量类似工作.各位高手快来帮忙. tks

解决方案 »

  1.   

    直接从文件读取图象数据,不要用picturebox显示后在处理,如果只是为了裁减,用GDI+的GetThumbnailimage函数会快很多.
      

  2.   

    GetThumbnailimage 不是用于缩放吗? 我的图片不需要缩放, 只是剪裁而已(把不用的地方去掉, 处理剩下的部分)请问GDI+用于剪裁的函数是哪个
      

  3.   

    用bitblt函数。如果有缩放,用stretchblt函数。不用picturebox的话,可以直接在内存中生成hdc,及位图,加入图片,对图片进行bitblt操作。
      

  4.   

    能否举个例子, 我用bitblt、stretchblt没有成功.
    另外GDI+没有剪裁的函数吗? 我找了一天没有找到, 能用GDI+最好了, 速度一级棒.
      

  5.   

    最好是用gdi+处理,不过若不是对文件处理而是在内存中处理很难,会的人很少,我也不会内存处理。
      

  6.   

    如果是bmp图片格式,直接在动态数组中自己编算法进行处理就可以了。若是jpg格式的图片,先保存为bmp的磁盘格式再处理。会jpg格式内存解码处理的人恐怕多数都在搞c/c++开发,谁用vb干呀,因为不挣钱。