L'ultimo esempio di post salva un'immagine BMP invece di un'immagine PNG. La seguente soluzione funziona per me se voglio salvare i file PNG dagli Appunti:
private async Task StoreImageFromClipboardAsync()
{
var dataPackage = Clipboard.GetContent();
if (datapackage.Contains(StandardDataFormats.Bitmap))
{
var t = await dataPackage.GetBitmapAsync();
var file = await SaveToPngTaskFile(t, ApplicationData.Current.LocalFolder,
"Clipboard.png");
}
}
public static async Task<StorageFile> SaveToPngTaskFile
(IRandomAccessStreamReference rndAccessStreamReference,
StorageFolder storageFolder, String storageFileName)
{
IRandomAccessStreamWithContentType rndAccessStreamWithContentType =
await rndAccessStreamReference.OpenReadAsync();
StorageFile storageFile =
await storageFolder.CreateFileAsync(storageFileName,
CreationCollisionOption.GenerateUniqueName);
var decoder = await BitmapDecoder.CreateAsync(rndAccessStreamWithContentType);
var pixels = await decoder.GetPixelDataAsync();
var outStream = await storageFile.OpenAsync(FileAccessMode.ReadWrite);
var encoder = await BitmapEncoder.CreateAsync(BitmapEncoder.PngEncoderId, outStream);
encoder.SetPixelData(decoder.BitmapPixelFormat, BitmapAlphaMode.Ignore,
decoder.OrientedPixelWidth, decoder.OrientedPixelHeight,
decoder.DpiX, decoder.DpiY,
pixels.DetachPixelData());
await encoder.FlushAsync();
outStream.Dispose();
return storageFile;
}
fonte
2014-09-04 09:29:39
Qual è il problema? Questo errore? – DonBoitnott
nessun errore. ma non so come posso salvarlo in un file. – Taladan
Hai un oggetto 'Immagine' ... così:' image.Save ("C: \\ myDir \\ myFile.png", System.Drawing.Imaging.ImageFormat.Png); ' – DonBoitnott