1

我正在做标准的 CameraChooserTask 舞蹈。在我的回调中,我想获取拍摄照片的尺寸。

我尝试使用BitmapImage,如下所示,但由于BitmapImage它不是渲染树的一部分,我认为它实际上并没有进行任何解码(它的ImageOpened事件不会触发)。

private void CameraCapture_Completed(object sender, PhotoResult e)
{
  if (e.TaskResult == TaskResult.OK && e.ChosenPhoto != null)
  {
    // This code DOES NOT work:
    // BitmapImage bi = new BitmapImage();
    // bi.SetSource(stream);
    // ... use bi.PixelHeight and bi.PixelWidth ...
4

1 回答 1

2

啊,诀窍是强迫某人使用BitmapSource. 通过将其指定为 an 的源Image,设置了PixelHeightandPixelWidth属性。

private void CameraCapture_Completed(object sender, PhotoResult e)
{
  if (e.TaskResult == TaskResult.OK && e.ChosenPhoto != null)
  {
    BitmapImage bi = new BitmapImage();
    bi.SetSource(stream);

    Image image = new Image();
    image.Source = bi;

    // ... use bi.PixelHeight and bi.PixelWidth ...
于 2011-07-10T00:31:53.340 回答