2014-05-06 154 views
1

我的应用程序中有一个CameraCaptureTask和一个PhotoChooserTask,您可以在其中获取或加载照片。所有这些的最终目标是最终将其发送到Azure Web API。Windows Phone照片尺寸

我从这两项任务中获得的照片非常大(约4mb),大小约为3000x2000像素。

有没有办法得到一个更小的图片版本?这是我如何处理选择器;

public void PhotoChooserTaskCompleted(object sender, PhotoResult e) 
    { 
     if (e.TaskResult == TaskResult.OK) 
     { 
      var bmp = new BitmapImage(); 
      bmp.SetSource(e.ChosenPhoto); 

      var writeableBitmap = new WriteableBitmap(bmp); 
      ... 

有没有办法加载一个较小的“缩略图”版本或我必须操纵图像并调整它的大小?

感谢您的指点。

+0

您必须手动调整它的大小。 –

+0

您能否提供更多的细节和解释?非常感谢! :) –

回答

0
WriteableBitmap bmpWritable = new WriteableBitmap(bmp); 
MemoryStream ms = new MemoryStream(); 
Extensions.SaveJpeg(bmpWritable, ms, newWidth, newHeight, 0, 100); 

我建议你按比例调整它。 希望这有助于。

此外,您不需要有两个单独的任务从摄像头和图库中获取图像。对于PhotoChooserTask本身,您可以将ShowCamera属性设置为true。这将在ApplicationBar中显示相机按钮时,当您打开图库

+0

嗨 - 感谢代码演示。我结束了使用WriteableBitmap.Resize(),但这指出我在正确的方向。 – creatiive