首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >网格背景闪烁(Metro应用程序)

网格背景闪烁(Metro应用程序)
EN

Stack Overflow用户
提问于 2012-05-07 19:45:25
回答 2查看 1.9K关注 0票数 2

我有一个背景定义为ImageBrush的网格。图像相当大(约1MB,jpg)。当我导航到页面时,首先只显示一秒钟的黑色背景,然后在一段时间后加载背景图像。看起来不太好。如何解决这个问题?也许是一些图像缓存或者将图像加载到内存中?

编辑:图像是2560x1600,因为应用程序应该支持的分辨率最高。是否有检测屏幕分辨率和使用适当图像的方法?我还在Windows 8博客上读到了一篇关于缩放图片的文章,但我找不到它是如何工作的。其思想是: 1366x768为100%,1920x1080为140%,2560x1600为180%,系统根据用户的分辨率选择合适的背景?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-07 20:39:24

我以前在MSDN上问过一个相似问题,但是没有得到一个普遍有用的答案。如果您希望能够转到任何页面并立即看到图像--您需要在导航之前加载它。如果您想避免闪烁-您可以设置画笔的不透明度为0,并等待ImageOpened事件在ImageBrush上,然后您动画不透明度回到1.0顺利淡入过渡。

编辑*

WinRT XAML工具包的最新版本有一个附加属性(ImageExtensions.FadeInOnLoaded),您可以使用它在图像加载时淡出,这比加载时显示要好得多。也有样品。

要处理多个图像缩放--您需要具有诸如SplashScreen.scale-100.png、SplashScreen.scale-140.png、SplashScreen.scale-180.png等名称的图像,然后当您将图像源设置为SplashScreen.png时,将自动获取分辨率的正确图像。有关更多细节,请参见此msdn文章

票数 0
EN

Stack Overflow用户

发布于 2012-05-07 19:49:39

您可以生成缩略图而不是1mb的图像。

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

https://stackoverflow.com/questions/10488127

复制
相关文章

相似问题

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