首页 / C# / 在C#中加载动画GIF
在C#中加载动画GIF
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在C#中加载动画GIF,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1153字,纯文字阅读大概需要2分钟。
内容图文
![在C#中加载动画GIF](/upload/InfoBanner/zyjiaocheng/677/f6561fcb09204ea199b1db349c18b90d.jpg)
我使用Adobe Flash CS3创建了一个简单的动画GIF,该GIF包含200帧(1280×786).当我加载它以在C#WPF应用程序中显示时,该程序在以下代码上获取OutofMemoryException
private void set_gif_Image(String path)
{
if (File.Exists(path))
{
var bitmapimage = new BitmapImage();
bitmapimage.BeginInit();
bitmapimage.UriSource = new Uri(path);
bitmapimage.EndInit();
ImageBehavior.SetAnimatedSource(img_preview, bitmapimage);//Exception Here
}
else
{
var bitmapimage = new BitmapImage();
bitmapimage.BeginInit();
bitmapimage.UriSource = new Uri("C:\\testing_files\\ERROR.gif");
bitmapimage.EndInit();
ImageBehavior.SetAnimatedSource(img_preview, bitmapimage);
}
但是,例如,如果我加载20帧GIF,则程序会很好地加载.请注意以下情况:
> 1280×768(200帧):异常
> 550×400(含200帧):加载正常
> 1280×768(含50帧):加载正常
问题出在哪儿?如何获得如此大的动画GIF加载无一例外?
解决方法:
或者,您也可以在发布模式下运行它…不应被OutOfMemoryException所困扰…
我确实建议您稍微调整GIF的大小,因为200fps 1280×768位图表示大量内存…
让我们看一下… 1帧代表983040像素…(1280 x 768),每个像素由3种颜色的数据组成,因此3字节等于:3 * 983040 = 2949120字节仅适用于一帧…
您有200个…所以:589824000字节.
等于576000 kByte或562.7 MByte …
太可怕了…
内容总结
以上是互联网集市为您收集整理的在C#中加载动画GIF全部内容,希望文章能够帮你解决在C#中加载动画GIF所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。