Computing > Programming

具有自定义间隔时间(精确到毫秒)的最简单的幻灯片显示软件。

(1/3) > >>

英国人 :
Hi,
我刚刚加入了这个论坛,所以希望我在正确的区域并按照指南进行发布。

我已有18年没有使用过Visual C ++ / MFC了。因此,我正在寻找以下软件的最简单,最快的编码解决方案。甚至没有菜单,打开/保存或其他任何东西。我一天或什至几个小时就能做出的理想选择...

总之,我想(使用VC ++)进行以下操作:

1)幻灯片显示,以随机顺序显示一组图像。此类图像位于EXE文件所在的同一文件夹中

2)以RANDOM YY时间间隔(从数十毫秒到秒)以RANDOM顺序显示图像XX次。

3)只有两个UI项目是“播放幻灯片”按钮和一个小表,其中在每一行中我指定a)显示文件夹中全套图像的数量,b)最小显示时间(以毫秒为单位)和c)最大显示时间以毫秒为单位。 (请注意,显示时间将始终至少为10毫秒)。

4)这对我来说只是一个EXE文件,没有安装程序,没有精美的UI,没有打开的文件,没有选择图像位置的文件夹,没有保存设置或其他任何东西。每次运行该软件时,我都可以填写表格。

5)仅在Windows中

目标是使其尽可能快。希望只有几个小时?

主要问题我已经超过18年没有使用Visual C ++了,所以不要'对此记不清了。

您能给我一些有关如何实现它的指示吗?

谢谢 :)

约翰尼·马拉里亚(Johnny Malaria) :
抛弃了我VC ++时代的蜘蛛网并编写了实时视频处理软件,您将很快遇到与Windows不是实时操作系统这一事实相关的问题。尽管有简单的“睡眠”命令,但它们的精度最高为1毫秒,通常为10毫秒,这取决于操作系统所运行的硬件。那里'不能保证Windows将在请求的时间间隔后返回到您的进程。

因此,您进入了高精度多媒体计时器等痛苦的世界。尝试让Windows在计时范围内按照您的意愿执行任何操作几乎是不可能的,因为它决定了启动和挂起的进程和线程以及何时启动。 。
,
This will give some idea: //www.codeguru.com/cpp/w-p/system/timers/article.php/c5759/Creating-a-HighPrecision-HighResolution-and-Highly-Reliable-Timer-Utilising-Minimal-CPU-Resources.htm

我要做的是创建一个内存映射文件,向其中写入一系列图像,然后使用Win32 API媒体播放器功能播放视频。基本上,将内存映射文件设置为循环缓冲区。一世'd可能将AVI容器与未压缩的YUV图像一起使用,并不断更改缓冲区的内容。通过使用视频,您可以设置帧频。我不'不知道可以达到多高的帧速率。您实际上在要求每秒最多100帧。

或者,您生成一个单独的线程,该线程仅不断轮询高精度计时器,并在经过特定时间后调用您的主线程。不过,您需要对此保持谨慎,以避免过多使用CPU等。

只是意识流带来了一些痛苦的回忆:)

英国人 :
Thank you Johnny,
这很有趣,尽管这一切都说得通,但我不知道从哪里/如何开始实施它。

我可以将最短时间放松到50ms。但是对于第一个版本,时序精度并不是那么关键,至少对于这个版本而言。

有人建议获取一些最简单的幻灯片演示的示例代码,然后尝试进行调整。但是不知道在哪里可以找到这样的示例,这些示例对于我理解代码非常简单。

有什么想法吗?

再次感谢你! :)

博士 :
我会把转速表作为搜索关键词而不是幻灯片。我认为您将需要将所有图像加载到内存中并做很多事情来处理时序。只是四处寻找,我发现这个jpg(来自1999年)甚至是一些源代码。
  //www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwiikYvFptbtAhUN11kKHdt7D4EQFjADegQIBxAC&url=https%3A%2F%2Flink.springer.com%2Fcontent%2Fpdf%2F10.3758%2FBF03207728.pdf&usg=AOvVaw2HfPjCAytXYizylBB2WwS_

我想没有太多帮助,但可以显示一些有用的内容

英国人 :
Thank you Drg.
转速计非常有趣。

该链接现在有效,请检查一下吗?

我也用谷歌转速计,但找不到太多有关软件的信息。

导航

[0] 讯息索引

[#] 下一页

感谢时出现错误
谢谢...
转到完整版