Silverlight 中的位图图像大小限制

2023-11-29

我正在制作一个 Windows Phone 7 应用程序,其中涉及从网络获取大图像并将其放入ScrollViewer供用户滚动浏览。我想我已经达到了限制BitmapImage不过,图像似乎在高度或宽度上被截断为 2048 像素。

这是 Silverlight 的已知限制吗BitmapImage在这种情况下是否可以使用其他类来允许滚动大图像?

Thanks


是的,有 2k x 2k 的限制。这是限制,白皮书“为 Windows Phone 创建高性能 Silverlight 应用程序”中描述了解决方法

大小限制:自 Windows 以来 手机摄像头为 5 MP,屏幕 分辨率比其他的小 平台、图像的限制 可以处理 2k x 2k 像素。 任何比这更大的东西都会 自动采样较低 分辨率和图像会丢失 一些丰富性。处理图像 大于 2k x 2k 有 需要处理的场景 大于 2k x 2k 的图像,例如照片 编辑器或裁剪图像。在那些 场景,您可以处理图像 大于 2k x 2k 的 文件,然后显示一部分 适合 2K x 2K。您可以使用 WriteableBitmap 与的组合 加载Jpeg来完成它。示例#5 – 加载大图像

XAML:

<StackPanel>
    <Image Height="3000" Width="3000" Name="image1" Stretch="Fill" />
    <Button Content="Load" Height="70" Width="152" Click="btnLoad_Click" />
</StackPanel>

背后代码:

private void btnLoad_Click(object sender, RoutedEventArgs e)
{
    StreamResourceInfo sri = null;
    Uri uri = new                                                                           Uri("LoadJpegSample;component/Test3k3k.JPG", UriKind.Relative);
    sri = Application.GetResourceStream(uri);

    WriteableBitmap wb = new WriteableBitmap((int)this.image1.Width, (int)this.image1.Height);

    Extensions.LoadJpeg(wb, sri.Stream);
    this.image1.Source = wb;
}

使用大于时要知道的事情 2k x 2k 图像:

  • 显示速度明显变慢
  • 请勿将其用于动画或平移场景。

的调整大小方法可写位图Ex如果没有可用的 JPEG 流,也可以用于此任务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Silverlight 中的位图图像大小限制 的相关文章

随机推荐