Bagikan melalui


InkManager.SaveAsync(IOutputStream) Metode

Definisi

Catatan

Untuk aplikasi Universal Windows menggunakan Extensible Application Markup Language (XAML), sebaiknya gunakan InkPresenter dan kontrol InkCanvas alih-alih InkManager.

Secara asinkron menyimpan semua objek InkStroke dalam koleksi InkStroke yang dikelola oleh InkManager ke aliran yang ditentukan.

Data tinta diserialisasikan sebagai metadata Ink Serialized Format (ISF) dan disematkan ke dalam file Graphics Interchange Format (GIF).

public:
 virtual IAsyncOperationWithProgress<unsigned int, unsigned int> ^ SaveAsync(IOutputStream ^ outputStream) = SaveAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<uint32_t, uint32_t> SaveAsync(IOutputStream const& outputStream);
/// [Windows.Foundation.Metadata.RemoteAsync]
/// [Windows.Foundation.Metadata.Overload("SaveAsync")]
IAsyncOperationWithProgress<uint32_t, uint32_t> SaveAsync(IOutputStream const& outputStream);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<uint,uint> SaveAsync(IOutputStream outputStream);
[Windows.Foundation.Metadata.RemoteAsync]
[Windows.Foundation.Metadata.Overload("SaveAsync")]
public IAsyncOperationWithProgress<uint,uint> SaveAsync(IOutputStream outputStream);
function saveAsync(outputStream)
Public Function SaveAsync (outputStream As IOutputStream) As IAsyncOperationWithProgress(Of UInteger, UInteger)

Parameter

outputStream
IOutputStream

Aliran target. Objek IRandomAccessStream (memerlukan IOutputStream) dapat ditentukan sebagai gantinya.

Mengembalikan

IAsyncOperationWithProgress<UInt32,UInt32>

Windows.Foundation.IAsyncOperationWithProgress<unsigned int,unsigned int>

IAsyncOperationWithProgress<uint32_t,uint32_t>

Ukuran aliran yang disimpan dan status operasi asinkron sebagai jumlah byte yang dikirim. Untuk informasi selengkapnya, lihat Metode WriteAsync .

Penerapan

Atribut

Contoh

Fungsi saveStrokes dalam contoh ini menunjukkan cara:

  • Tampilkan layar penyimpanan file di mana tipe file dibatasi ke format Graphics Interchange Format (GIF) menggunakan objek FileSavePicker .
  • Siapkan aliran output melalui metode OpenAsync .
  • Gunakan metode SaveAsync dari objek InkManager (inkManager) untuk menserialisasikan data tinta ke aliran output dan menyematkannya ke dalam file Graphics Interchange Format (GIF) (storageFile).
// Save all strokes owned by inkManager.
function saveStrokes()
{
    // Ensure that strokes exist before calling saveAsync.
    if (inkManager.getStrokes().size > 0)
    {
        // Set up the file save screen.
        var savePicker = Windows.Storage.Pickers.FileSavePicker();
        savePicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.picturesLibrary;
        savePicker.fileTypeChoices.insert("GIF with embedded ISF", [".gif"]);
        savePicker.defaultFileExtension = ".gif";

        // Set up the stream.
        var saveStream = null;

        // Asynchronously save the ink data to the stream.
        savePicker.pickSaveFileAsync().done(
        function (file)
        {
            if (null !== file)
            {
                file.openAsync(Windows.Storage.FileAccessMode.readWrite).then(
                    function (stream)
                    {
                        saveStream = stream;
                        return inkManager.saveAsync(saveStream);
                    }
                ).then(
                    function ()
                    {
                        return saveStream.flushAsync(); 
                    },
                    function (e) {
                        // Override the standard saveAsync error with our own.
                        throw new Error("saveAsync");
                    }
                ).done(
                    function ()
                    {
                        statusMessage.innerText = "Strokes saved as GIF with embedded ISF (.gif).";
                        saveStream.close();
                    },
                    function (e) {
                        statusMessage.innerText = "Save: " + e.toString();
                        // Close the stream if open.
                        if (saveStream) {
                            saveStream.close();
                        }
                    }
                );
            }
        }
    );
    }
    else
    {
        statusMessage.innerText = "No strokes to save.";
    }
}

Keterangan

Menyematkan metadata ke dalam file Graphics Interchange Format (GIF) memungkinkan tinta untuk dilihat dalam aplikasi yang tidak mendukung tinta sambil mempertahankan keakuratan penuh untuk aplikasi berkemampuan tinta. Format ini sangat ideal untuk mengangkut konten tinta dalam file HTML dan membuatnya dapat digunakan oleh aplikasi tinta dan non-tinta.

Catatan

Format Serial Tinta (ISF) adalah representasi tinta yang paling ringkas. Ini dapat disematkan dalam format dokumen biner atau ditempatkan langsung di Clipboard sambil mempertahankan berbagai properti tinta seperti tekanan, lebar, warna, miring, memutar, dan sebagainya.

Berlaku untuk

Lihat juga