Программное отображение изображения CameraRoll, созданного с помощью CameraCaptureTask

Как описано в первом ответе этой темы, для WP8 задача захвата камеры автоматически сохраняет копию любых изображений, которые он создает, в Фотопленку. Если изображение сохранено таким образом, можно ли программно вывести изображение в приложении непосредственно из копии в Фотопленке без создания второй копии в таком месте, как изолированное хранилище или данные приложения. ? Если да, то как бы вы получили указатель на местоположение камеры этого недавно сохраненного изображения?

Я хотел бы избежать наличия нескольких избыточных копий каждого изображения, плавающих вокруг, если это вообще возможно. И если использование копии в Camera Roll позволит мне использовать функциональность CameraCaptureTask вместо того, чтобы напрямую работать с Camera API, то это идеально подходит для моих целей. Спасибо.


person ssmolen    schedule 06.01.2014    source источник


Ответы (1)


Если вам просто нужно местоположение изображения, оно указано в файле OriginalFileName свойства PhotoResult, который вы получаете от Завершено событие.

Например, снимок с помощью эмулятора дает "C:\Data\Users\Public\Pictures\Camera Roll\WP_20140106_002.jpg"

Теперь, когда у вас есть это, вы можете отобразить пользователю BitMapImage и установить его в качестве источника для изображения.

MyImage.Source = new BitmapImage(new Uri("C:\\Data\\Users\\Public\\Pictures\\Camera Roll\\WP_20140106_002.jpg", UriKind.Absolute));

Если вам нужно изображение прямо сейчас, вы можете получить его на ChosenPhoto свойства PhotoResult.

person Shawn Kendrot    schedule 06.01.2014