1

2 つのボタンとイメージ コントロールがあります。

最初のボタンをクリックすると、以下に示すように画像をロードしようとしています。

 Dim openPicker As New FileOpenPicker
    openPicker.ViewMode = PickerViewMode.Thumbnail
    openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary
    openPicker.FileTypeFilter.Add(".jpg")
    openPicker.FileTypeFilter.Add(".jpeg")
    openPicker.FileTypeFilter.Add(".png")
    Dim file As StorageFile = Await openPicker.PickSingleFileAsync
    If Nothing IsNot file Then
        Dim image As New BitmapImage()
        Dim stream = Await file.OpenAsync(Windows.Storage.FileAccessMode.Read)
        image.SetSource(stream)
        Image1.Source = image
        LayoutRoot.Visibility = Windows.UI.Xaml.Visibility.Collapsed
        txtImgdisplay.Text = file.Path 
    Else
        txtImgdisplay.Text = "Invalid File"
    End If

2番目のボタンをクリックすると、同じ画像にいくつかの変更を加えた後、その画像を写真ライブラリに保存する必要があります。

これは私がやろうとしていることであり、画像コントロールに既に読み込まれている画像を取得して保存する方法が混乱しています。

 Dim fileSavePicker As New FileSavePicker()
    fileSavePicker.FileTypeChoices.Add("PNG", New String() {".png"})
    fileSavePicker.FileTypeChoices.Add("JPG", New String() {".jpg"})
    fileSavePicker.FileTypeChoices.Add("BMP", New String() {".bmp"})
    fileSavePicker.FileTypeChoices.Add("TIFF", New String() {".tiff"})
    fileSavePicker.FileTypeChoices.Add("EXIF", New String() {".exif"})
    fileSavePicker.FileTypeChoices.Add("ICO", New String() {".ico"})
    Dim saveFile As StorageFile = Await fileSavePicker.PickSaveFileAsync()

    If Nothing IsNot saveFile Then
        Dim image As New BitmapImage()
        Dim stream = Await StorageFile.GetFileFromPathAsync(txtImgdisplay.Text)
        LayoutRoot.Visibility = Windows.UI.Xaml.Visibility.Collapsed
        txtImgdisplay.Text = saveFile.Path
        Image1.Source = image
        Dim copyFile As StorageFile = Await saveFile.CopyAsync(Windows.Storage.KnownFolders.PicturesLibrary, "sample - Copy.png")
    Else
        txtImgdisplay.Text = "Invalid File"
    End If
4

2 に答える 2

0

あなたがする必要があるのは、ビットマップオブジェクトのSaveメソッドを呼び出すことだけだと思います。

image.Save(pathToPictureFolder & filename)
于 2012-04-06T12:27:00.300 に答える
0

以下のようにしてみてください。1)選択したファイル(StorageFile)をメンバー変数として保存します。2)セカンドボタンがクリックされたとき。

FolderPicker saveFolder = new FolderPicker();
saveFolder.SuggestedStartLocation = PickerLocationId.Desktop;
saveFolder.FileTypeFilter.Add("*"); StorageFolder storagefolderSave = await saveFolder.PickSingleFolderAsync(); StorageFile storagefileSave = [メンバー変数として選択された storagefile] await storagefileSave.CopyAsync(storagefolderSave, storagefileSave.Name, NameCollisionOption.ReplaceExisting);

于 2012-10-04T05:42:58.053 に答える