InkManager.SaveAsync(IOutputStream) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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
- Interactions avec le stylo et le stylet
- Bien démarrer : Prise en charge de l’entrée manuscrite dans votre application UWP
- Exemple d’analyse d’encre (de base) (C#)
- Exemple de reconnaissance de l’écriture manuscrite manuscrite (C#)
- Enregistrer et charger des traits d’encre à partir d’un fichier ISF (Ink Serialized Format)
- Enregistrer et charger des traits d’encre à partir du Presse-papiers
- Exemple d’emplacement et d’orientation de la barre d’outils Ink (de base)
- Exemple d’emplacement et d’orientation de la barre d’outils Ink (dynamique)
- Exemple de livre de coloriage
- Exemple de notes de famille
- Exemple d’entrée manuscrite (JavaScript)
- Exemple d’entrée manuscrite simple (C#/C++)
- Exemple d’entrée manuscrite complexe (C++)
- Exemple d’analyse d’encre