可能是由于JPEG压缩算法不适用于PNG格式的图片,因此在对PNG图像进行编码时可能会出现问题。解决方法是使用其他可用格式(例如BMP或JPEG)进行编码。以下是使用BMP格式的示例代码:
StorageFile inputFile = await StorageFile.GetFileFromApplicationUriAsync(inputUri);
StorageFile outputFile = await KnownFolders.PicturesLibrary.CreateFileAsync(outputFileName, CreationCollisionOption.GenerateUniqueName);
using (IRandomAccessStream inputStream = await inputFile.OpenAsync(FileAccessMode.Read))
{
BitmapDecoder inputDecoder = await BitmapDecoder.CreateAsync(inputStream);
BitmapEncoder outputEncoder = await BitmapEncoder.CreateAsync(BitmapEncoder.BmpEncoderId, await outputFile.OpenAsync(FileAccessMode.ReadWrite));
await outputEncoder.FlushAsync();
}