【问题标题】:Image with high resolution not working properly when sending from Windows phone 8 application从 Windows phone 8 应用程序发送时,高分辨率图像无法正常工作
【发布时间】:2014-07-08 09:35:05
【问题描述】:

我正在开发一个 Windows phone 8 聊天应用程序。我需要能够发送图像。我能够发送低分辨率的图像,但是当我尝试发送高分辨率图像 (10240 x 6400) 时,结果图像不是我所期望的。 和 。如您所见,仅显示了图像的一部分,而其余区域为灰色。我认为问题在于我如何裁剪和/或重新调整图像大小。我正在将我的图像转换为 WriteableBitmap 对象并在此方法中调整它的大小。参数requiredImageSize = 800。

     private WriteableBitmap ResizeLargeWriteableBitmapImage(WriteableBitmap bitmap, int requiredImageSize)
    {
        WriteableBitmap resized;

        int tnWidth = 0;
        int tnHeight = 0;

        if (bitmap.PixelWidth >= bitmap.PixelHeight)
        {
            if (bitmap.PixelWidth <= requiredImageSize)
                tnWidth = bitmap.PixelWidth;
            else
                tnWidth = requiredImageSize;
        }
        else if (bitmap.PixelHeight >= bitmap.PixelWidth)
        {
            if (bitmap.PixelHeight <= requiredImageSize)
                tnHeight = bitmap.PixelHeight;
            else
                tnHeight = requiredImageSize;
        }

        if (tnWidth > 0)
        {
            tnHeight = (bitmap.PixelHeight * tnWidth) / bitmap.PixelWidth;

        }
        else if (tnHeight > 0)
        {
            tnWidth = (bitmap.PixelWidth * tnHeight) / bitmap.PixelHeight;
        }

        resized = bitmap.Resize(tnWidth, tnHeight, WriteableBitmapExtensions.Interpolation.Bilinear);

        return resized;
    }

我将 WriteableBitmap 对象保存为 JPEG 图像

    writableImage.SaveJpeg(msThumbnailImage, writableImage.PixelWidth, writableImage.PixelHeight, 0, 100);

然后我将图像保存到本地存储并显示它(正如我之前所说的那样显示它)。为什么会这样。我在代码中做错了吗?

【问题讨论】:

    标签: windows-phone-8 image-resizing writeablebitmap


    【解决方案1】:

    我建议您不需要使用 bitmap.Resize() 方法。

    您可以简单地采用您在方法中找到的宽度和高度参数(tnHeight 和 tnWidth)。然后将它们用作 writeableImage.saveJpeg() 方法中的 pixelWidth 和 PixehHeight。这应该会将保存的 jpeg 的分辨率降低到您想要的大小。

    【讨论】:

    • 我不明白您的回答是对我的问题的解决方案还是对我的方法的建议。如果是前者,那就没有运气了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    相关资源
    最近更新 更多