Partager via


InkManager.SaveAsync(IOutputStream) Méthode

Définition

Notes

Pour l’application Windows universelle utilisant le langage XAML (Extensible Application Markup Language), nous vous recommandons d’utiliser InkPresenter et le contrôle InkCanvas au lieu d’InkManager.

Enregistre de manière asynchrone tous les objets InkStroke de la collection InkStroke gérée par InkManager dans le flux spécifié.

Les données manuscrites sont sérialisées en tant que métadonnées ISF (Ink Serialized Format) et incorporées dans un fichier GIF (Graphics Interchange Format).

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)

Paramètres

outputStream
IOutputStream

Le flux de données cible. Un objet IRandomAccessStream (nécessite IOutputStream) peut être spécifié à la place.

Retours

IAsyncOperationWithProgress<UInt32,UInt32>

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

IAsyncOperationWithProgress<uint32_t,uint32_t>

La taille du flux enregistré et la status de l’opération asynchrone en tant que nombre d’octets envoyés. Pour plus d’informations, consultez Méthode WriteAsync .

Implémente

Attributs

Exemples

La saveStrokes fonction de cet exemple montre comment :

  • Affichez un écran d’enregistrement de fichier où le type de fichier est limité au format GIF (Graphics Interchange Format) à l’aide de l’objet FileSavePicker .
  • Configurez un flux de sortie via la méthode OpenAsync .
  • Utilisez la méthode SaveAsync d’un objet InkManager (inkManager) pour sérialiser les données manuscrites dans un flux de sortie et les incorporer dans un fichier GIF (Graphics Interchange Format) (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.";
    }
}

Remarques

L’incorporation des métadonnées dans un fichier GIF (Graphics Interchange Format) permet d’afficher l’entrée manuscrite dans les applications qui ne sont pas compatibles avec l’entrée manuscrite tout en conservant une fidélité totale pour les applications avec entrée manuscrite. Ce format est idéal pour transporter le contenu manuscrit dans un fichier HTML et le rendre utilisable par les applications manuscrites et non manuscrites.

Notes

Le format sérialisé manuscrit (ISF) est la représentation persistante la plus compacte de l’entrée manuscrite. Il peut être incorporé dans un format de document binaire ou placé directement dans le Presse-papiers tout en préservant diverses propriétés d’encre telles que la pression, la largeur, la couleur, l’inclinaison, la torsion, etc.

S’applique à

Voir aussi