首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在线程池线程上调整Windows Phone 7上的图像大小?

在线程池线程上调整Windows Phone 7上的图像大小?
EN

Stack Overflow用户
提问于 2011-03-12 14:25:54
回答 7查看 4.7K关注 0票数 19

我正在编写一个处理大量图片的Windows phone7应用程序-这些图片的范围从几百像素到1080P (未来可能更高)。

图片是非常耗费资源的,所以在显示之前,我采用了缓存+在手机上调整图片大小的方法。

这意味着在第一次设置时,在用户输入图像存储的IP地址后,我可以要求他们等待几分钟,直到所有内容都被检索/调整大小/缓存。从那时起,他们可以有良好的和快速的表现。

目前,我的缓存管理器通过Uri和文件位置的字典来跟踪图像。我有一个队列,一次处理多达5个图像(异步web请求,调整大小是在线程池线程上半完成的)。

我的问题是,Silverlight中的WritableBitmap类是一个UI元素,这意味着我必须通过Dispatcher转换到UI线程来进行实际的大小调整,这是愚蠢的,而且会减慢整个过程-这也意味着我的缓存管理器实际上是单线程的。

缓存管理器(线程池) ->异步Web请求(线程池) ->回调(线程池) ->调整大小(UI线程) ->将缓存作业标记为完成(线程池)。

我一直在寻找一个第三方的库,将A)编译和运行在Windows Phone 7和B)能够调整各种格式的图像,通过操纵一个流或字节数组,而不是依赖于UI线程。

有没有人有这方面的经验?

干杯,

泰勒

EN

回答 7

Stack Overflow用户

发布于 2011-03-18 05:51:40

为了减小下载大小,并从电话CPU中移除处理负担,我将把这项工作推送到web服务。

例如,你可以在http://webimageresizer.codeplex.com/上的某个地方托管一个像开源WebImageResizer代码这样的服务--比如在一个免费的AppHarbor服务器上。

或者,您可以使用商业(免费增值)服务,如:

  • http://webresizer.com/app/
  • http://www.appspotimage.com/

这两种方法都可以让你通过超快的连接在服务器上快速处理图像,并通过有限的数据连接将较小的图像传送到手机上。

票数 3
EN

Stack Overflow用户

发布于 2011-03-14 03:32:11

ImageTools库既支持WP7,也支持调整图像大小,因此使用此库可能会更成功。

票数 0
EN

Stack Overflow用户

发布于 2011-03-22 01:10:00

试试Réne Schulte创建的http://writeablebitmapex.codeplex.com/。与SDK附带的WriteableBitmap相比,它的性能要好得多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5280992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档