gdi+加载图片的问题

sdhjari 2015-08-06 09:23:53
Image* pImage = Image::From(L"c:\\xxx.png")后发现c:\\xxx.png被占用,我程序中要用到pImage ,不能马上就释放,怎么释放对该文件的占用啊
...全文
173 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2015-08-07
  • 打赏
  • 举报
回复
Image image(L"climber.jpg"); // 后 没发现 climber.jpg 不能删除(未占用)
sdhjari 2015-08-07
  • 打赏
  • 举报
回复
引用 4 楼 shuo101 的回复:
析构函数什么时候调用???
整个程序退出的时候析构
木黑神 2015-08-07
  • 打赏
  • 举报
回复
析构函数什么时候调用???
sumos 2015-08-07
  • 打赏
  • 举报
回复
引用 9 楼 sdhjari 的回复:
[quote=引用 8 楼 zhoujielunzhimi 的回复:] 先把图片二进制数据读到内存中,然后 Gdiplus::Image::FromStream()
目前用这种方式实现了 但是我看有些人用Image::Dispose()这个函数,为什么我的gdi+没有这个函数啊?[/quote] 那是C#的函数
sdhjari 2015-08-07
  • 打赏
  • 举报
回复
引用 8 楼 zhoujielunzhimi 的回复:
先把图片二进制数据读到内存中,然后 Gdiplus::Image::FromStream()
目前用这种方式实现了 但是我看有些人用Image::Dispose()这个函数,为什么我的gdi+没有这个函数啊?
sumos 2015-08-07
  • 打赏
  • 举报
回复
先把图片二进制数据读到内存中,然后 Gdiplus::Image::FromStream()
sdhjari 2015-08-07
  • 打赏
  • 举报
回复
引用 6 楼 schlafenhamster 的回复:
Image image(L"climber.jpg"); // 后 没发现 climber.jpg 不能删除(未占用)
我试了下 删除的时候报错了啊
sdhjari 2015-08-06
  • 打赏
  • 举报
回复
我是做了个图片管理的类,初始化加载到内存,程序中再使用直接读内存,不想每次都加载 最好程序退出的时候才能delete
叶恭介叶恭介 2015-08-06
  • 打赏
  • 举报
回复
delete pImage 就可以释放了
飞翔的薄荷 2015-08-06
  • 打赏
  • 举报
回复

VOID Example_DrawImage11(HDC hdc)

{
   Graphics graphics(hdc);

   // Create an Image object.
   Image image(L"climber.jpg");

   // Draw the image.
   graphics.DrawImage(&image, 0, 0);
}

一般保存文件路径就行了,用的时候在使用 Image。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧