locked
在 IImagingFactory API里面 uint Draw(IntPtr hdc, ref Rectangle dstRect, IntPtr NULL)的问题 RRS feed

  • 常规讨论

  • 请问,我调用IImagingFactory  API的时候,如果画原图的所有区域没有问题,但是,我如果取原图的一部分区域,不知道怎么使用,例如:我要画800*600图片的一半,即800*300,我曾经使用uint Draw(IntPtr hdc, ref Rectangle dstRect, ref Rectangle srcRect)这个方法调用,但总是调用失败,不知道是什么原因,我使用的是c#,不知道哪位高人能帮助解决
    2010年4月26日 4:55

全部回复

  • 出现什么错误或者错误代码?
    Please remember to mark the replies as answers if they help and unmark them if they provide no help
    2010年4月27日 8:25
    版主
  • 主要是提示内存不足

    2010年4月27日 8:52
  • 另外,我怀疑我的写法不正确,

     

    用这个是没有问题的

     uint Draw(IntPtr hdc, ref Rectangle dstRect, IntPtr NULL);

     

    但这个无法从原图里面进行截取

    2010年4月27日 8:55
  • 内存不足应该跟这个函数没有关系,在手机中一个应用程序只能用32M的虚拟内存。这32M包括代码等。检查一下你这个应用程序使用的内存。还有整个系统的内存是否够用。


    Please remember to mark the replies as answers if they help and unmark them if they provide no help
    2010年4月28日 10:29
    版主
  • 我看了,我的内存使用不到2M,还是这个函数的问题,我怀疑这个写法不对

    1.有问题的写法:uint Draw(IntPtr hdc, ref Rectangle dstRect, ref Rectangle srcRect)

     

    2.没有问题的写法:uint Draw(IntPtr hdc, ref Rectangle dstRect, IntPtr NULL);但是这个写法不支持对原图片截取

    2010年5月17日 10:16
  • 这个问题至今没有解决呀,我根本就没有超过32M内存,连2M的内存都没有使用到
    2010年5月25日 5:54