查看: 885|回复: 8

咨询

[复制链接]

该用户从未签到

发表于 2018-1-12 16:02:09 | 显示全部楼层 |阅读模式
用osg抓取图像时,第一次保存下来的图片,  怎么写代码  在第二次执行时截图不覆盖第一次的图像
11111111101122.png

该用户从未签到

发表于 2018-1-17 09:12:51 | 显示全部楼层
有点小笨儿,时间戳更好。

该用户从未签到

发表于 2018-1-15 14:30:07 | 显示全部楼层
这很简单
  1. static int index = 1;
  2. std::string filename = std::to_string(index) + std::string(".jpg");
  3. index++;
  4. osgDB::writeImageFile(*(image_c.get()), filename);
复制代码


该用户从未签到

 楼主| 发表于 2018-1-15 15:11:56 | 显示全部楼层

不对呀,依旧是覆盖的,我是指第一次程序退出,执行第二次时,不覆盖第一次截图文件夹里的图片

该用户从未签到

发表于 2018-1-16 09:24:31 | 显示全部楼层
每次程序运行都写相同名字的文件,肯定覆盖了啊。
2楼给你的是一次运行时连续写入不同的文件,命名不重复。
你只有在每次程序运行后把文件名自己手动改了

该用户从未签到

 楼主| 发表于 2018-1-16 15:43:32 | 显示全部楼层
Mouming 发表于 2018-1-16 09:24
每次程序运行都写相同名字的文件,肯定覆盖了啊。
2楼给你的是一次运行时连续写入不同的文件,命名不重复 ...

我知道呀,我图片上的代码和他的代码差不多,

该用户从未签到

发表于 2018-1-16 16:44:56 | 显示全部楼层
liren 发表于 2018-1-15 15:11
不对呀,依旧是覆盖的,我是指第一次程序退出,执行第二次时,不覆盖第一次截图文件夹里的图片

退出当然不行了,这个时候你要退出时保存当前的文件序号,然后下一次打开程序读取这个序号
或者你的文件以时间戳命名,这样子每次肯定会不一样

该用户从未签到

发表于 2018-1-17 16:20:18 | 显示全部楼层
我就喜欢这种小白当码农,指导指导很有成就感哩

该用户从未签到

 楼主| 发表于 2018-1-18 11:00:24 | 显示全部楼层
liujing7256 发表于 2018-1-17 16:20
我就喜欢这种小白当码农,指导指导很有成就感哩

呃呃呃
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表