2014-11-03 36 views
-1

我已經將圖像從橫向旋轉爲縱向。如何在旋轉後創建新的位圖

我的問題是,圖像非常模糊,當我使用此代碼。

我需要做什麼?

// create new photo size: 
if (b_IsRotated) 
{ 
    var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, fileStream); 
    encoder.SetPixelData(
     BitmapPixelFormat.Bgra8, 
     BitmapAlphaMode.Ignore, 
     525, 
     700, 
     DisplayInformation.GetForCurrentView().LogicalDpi, 
     DisplayInformation.GetForCurrentView().LogicalDpi, 
     pixelBuffer.ToArray()); 

    await encoder.FlushAsync(); 
} 

_bitmap = new BitmapImage(); 
_bitmap.SetSource(fileStream); 
+0

您不知道旋轉圖像的任何代碼。請提供一個很好的代碼示例。如果輪換是你問題的重要組成部分,請包括完成此事的代碼。否則,請編輯您的問題以刪除提及的旋轉。請參閱http://stackoverflow.com/help/mcve – 2014-11-03 18:46:40

回答

0

模糊可能與更改位圖的大小而不是旋轉有關。

您可以控制位圖像素如何通過設置的BitmapEncoder的BitmapTransform property插值。這將允許設置RotationInterpolationMode。默認情況下,BitmapEncoder會選擇一個強調性能而不是質量的InterpolationMode,但如果您的需求是爲了質量而不是性能,您可以選擇另一種。