【问题标题】:How to compress a jpg image in WinRT/XAML?如何在 WinRT/XAML 中压缩 jpg 图像?
【发布时间】:2014-10-14 01:02:32
【问题描述】:

我需要压缩较大的 jpeg 以在 (Bing) 地图标记中显示。

我认为找到了一种方法来做到这一点here,但在我的 WinRT/XAML(Windows 应用商店)应用程序中,位图和大小都无法识别。

可以调整 sikender 的代码,还是说这是一个“完整的 'nuther animal”?

【问题讨论】:

  • 谢谢,菲利普;我知道“WPF”在标题中看起来不正确。

标签: bitmap windows-store-apps winrt-xaml jpeg image-compression


【解决方案1】:

那是一种“完整的动物”。链接代码依赖于 System.Drawing,它是桌面应用程序的图形包之一。 System.Drawing 不适用于 Windows 应用商店应用。

Windows 应用商店应用使用 Windows.Graphics.Imaging 命名空间和 BitmapDecoderBitmapEncoder 类(解码器将原始文件转换为原始像素,编码器将原始像素转换为新格式)。

MSDN 在How to decode an imageHow to edit an image 中检查了该过程,并将它们全部放在Simple Imaging sample

基本步骤:

  • 将原始文件读入 StorageFile
  • 打开 StorageFile 并根据其流创建 BitmapDecoder
  • 创建要编码的目标流
  • 基于BitmapDecoder创建BitmapEncoder
  • 使用您要进行的更改设置 BitmapTransform(按比例缩小)
  • 将编码器刷新到目标流中

【讨论】:

    猜你喜欢
    • 2011-07-16
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 2020-02-16
    • 1970-01-01
    • 2016-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多