C# 如何在WP8.1应用程序中使用c将图像大小从5MB减小到2MB#

C# 如何在WP8.1应用程序中使用c将图像大小从5MB减小到2MB#,c#,windows-phone-8.1,C#,Windows Phone 8.1,我想减少图像的大小,就像如果图像大小超过2MB,我想将其减少到2MB。 我使用了以下代码: StorageFile file = await StorageFile.GetFileFromPathAsync(imagePath); StorageItemThumbnail thumbnail2 = await file.GetThumbnailAsync(ThumbnailMode.PicturesView, 500, ThumbnailOptions.ResizeThumbnail; 但这个

我想减少图像的大小,就像如果图像大小超过2MB,我想将其减少到2MB。 我使用了以下代码:

StorageFile file = await StorageFile.GetFileFromPathAsync(imagePath);
StorageItemThumbnail thumbnail2 = await file.GetThumbnailAsync(ThumbnailMode.PicturesView, 500, ThumbnailOptions.ResizeThumbnail;
但这个缩略图2给出了非常小的图像大小,我希望至少有2MB的大小,但这给出了Kb的大小。
由于GetThumbnailAsync second参数是以像素为单位的大小,因此获取2MP大小图像的代码是什么?

,请在此处尝试一些更大的值,直到获得所需的结果。
以:2MiB=2*2^20字节开始。如果每个像素用3个字节编码,假设没有压缩,则为(2*2^20)/3=699050像素。因此,请尝试此操作,如果结果是根据需要对值进行大/小更改。

我认为您无法以MB为单位指定目标大小,这将取决于图像的压缩方式。如果有人给你发送一个5MB的全白文件,这肯定会比复杂得多的图片小。我认为缩略图很小并不奇怪……你必须自己实现这一点——计算一半的尺寸并将图像大小调整为该尺寸。如果低于2MB,则完成。如果超过2MB,则再次调整尺寸的一半(我认为使用尺寸并继续从原始图像执行大小调整,而不是调整大小的图像)。重复直到完成。为什么大拇指朝下?这是一个很好的问题,OP已经表明他正在努力解决这个问题。那么,给了我什么?这会给我很小的图像。我可以将大小固定到2Mb吗。