0

私は Windows 8 アプリに取り組んでおり、ユーザーに画像を提供するよう促したいと考えています。

Windows Phone では、PhotoChooserTask を使用し、必要なピクセルの高さと幅を指定し、カメラが許容可能な入力方法であることを確認します。

Windows 8 では、CameraCaptureUI または FileOpenPicker を使用してユーザーに同様のオプションを提供する必要があることがわかりました。FileOpenPicker を使用して、結果の画像を必要な寸法に手動で処理する必要もあります。CameraCaptureUI には、トリミング コントロールが組み込まれています。

Windows Phone の PhotoChooserTask と同様の機能を提供する、使用できるライブラリまたはコントロールはありますか? または、CameraCaptureUI のクロッピング コントロール部分にアクセスできますか?

具体的には、ユーザーに特定のサイズの画像を要求したいと思います。次に、ファイルから画像を選択するか、カメラを介して新しい画像をキャプチャできます。画像を取得すると、必要なサイズにトリミングするための UI が表示されます。

4

2 に答える 2

1

CameraCaptureUI は正しい方法です。次のドキュメントで説明されているように、写真キャプチャのプロパティを指定できます

Windows Phone のように、写真を撮ってトリミング/サイズ変更するための優れたインターフェイスをユーザーに提供します。

// Takes a photo with specified settings.
function takePhoto() {
    var captureUI = new Windows.Media.Capture.CameraCaptureUI();
    captureUI.photoSettings.allowCropping = true;
    captureUI.photoSettings.croppedAspectRatio.height = 3;
    captureUI.photoSettings.croppedAspectRatio.width = 4;
    captureUI.photoSettings.croppedSizeInPixels.height = 0;
    captureUI.photoSettings.croppedSizeInPixels.width = 0;
    captureUI.photoSettings.format = Windows.Media.Capture.CameraCaptureUIPhotoFormat.jpeg;
    captureUI.photoSettings.maxResolution = Windows.Media.Capture.CameraCaptureUIMaxPhotoResolution.highestAvailable;
    captureUI.captureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.photo).then(function (capturedItem) {
        if (capturedItem) {
            document.getElementById("message").innerHTML = "User captured a photo."
        }
        else {
            document.getElementById("message").innerHTML = "User didn't capture a photo."
        }
    });
}
于 2013-03-31T02:45:59.627 に答える
1

ユーザーに 1 つのボタンから選択できるようにし、カメラを選択できるようにするか、Calisto にあるようなメニューを使用して既存のものを選択できるようにします。または、2 つのボタンを提供することもできます。Windows 8 を使用すると、スマートフォンよりも少し多くのスペースを利用できます。

画像に直接移動するには、FileOpenPickerのSuggestedStartLocationを設定できます。このプロパティはPickerLoctionIdを受け入れます。これをに設定する必要がありますPickerLoctionId.PicturesLibrary

于 2013-03-31T02:49:21.423 に答える