Wince 或Windows平台 C#调用Bitmap对象后资源应该如何释放


做Wince项目时遇到的问题,

 将相机拍摄的图像从SD卡读入BitMap,然后在克隆给PictureBox;即:Bitmap bmp=new Bitmap(FilePath); Picture.Image=(Image)bmp.Clone();bmp.Dispose();查看前2张图片没有问题,第3张图片时就报内存溢出了.

尝试了多种释放资源的方式,包括GC强制回收都没有效果,后来看到别人C++代码里面对BitMap位图操作时,采用DeleteObject进行释放的。我也在C#里进行了尝试,还真释放干净了;记录这里备忘;

    [DllImport( "coredll.dll" )]
    [ return : MarshalAs(UnmanagedType.Bool)]
    public static extern bool DeleteObject(IntPtr hgdiobj);
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM