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. のソースとして割り当てることでImagePixelHeightおよびPixelWidthプロパティが設定されます。

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 に答える