我试图以多种方式解决这个问题。
我有一个Web应用程序,它将加载一个sprite(这是一个大'jpeg'拥有'100帧。使用div属性的偏移我能够'移动'图像,所以它看起来像一个影片剪辑。
这很有效。
我需要在移动设备上生产相同的产品。 我必须支持Windows Mobile 6.5。 我正在使用jQuery / ajax来移动精灵图像,以阻止浏览器中的图像闪烁。 Windows Mobile 6.5不支持此功能。
所以,我决定使用C#Framework 2.0做一个原生应用。
我考虑过将精灵转换为mp4文件并在网络浏览器控件中播放。但设备上的IE将不支持html5。
我被告知有一个来自adobe的CAB文件,以便我可以在IE上播放Flash视频。但是,除了使用ffmpeg将这些图像转换为flv之外,在播放flv文件时添加诸如暂停,停止,播放等菜单的控制也不多。我没有按照我认为的情况开始这样做。
所以......我想如果我将精灵下载到设备上,我可以使用图片框的图形对象,并将感兴趣的矩形从大精灵渲染到图片框。
我无法下载Sprite并将其保存到图像中。我得到'内存异常'。
我使用OpenNetCF.Drawing,因为它应该支持大文件。我仍然收到错误消息。我缩小了图像的大小,它可以在大约20帧上工作。
然后我必须“堆叠”这些包含20帧的图像并在必要时加载它们。
我现在开始怀疑我是否正在做正确的事情?
有没有一种不同的方式来尝试实现我想要实现的目标,因为我的想法已经用完了,这种方式更快更有效。
如果我可以这样做,那么在像视频这样的图片框中渲染图像的最佳方法是什么。内存效率表示在需要时从设备上的文件加载图像并将其丢弃,但这会导致“闪烁”。在设备上处理大量图像的最佳方法是什么?
我有足够的代码可以上传,但我担心这个问题看起来很“混乱”,因为我尝试了很多东西。我当然会根据需要编辑/上传代码。
感谢。