使用xamarin.forms将映像的大小压缩为250kb,无需依赖服务
我正在尝试将Xamarin.Forms中从相机拍摄的图像压缩到250kb大小。 我找到了在依赖服务中做到这一点的方法,但我希望它没有依赖服务(纯xamarin.forms代码)。 怎么可能呢。 谁能建议我你有最好的方法?
提前致谢
这是一项非常复杂的工作,因为您需要大量的图像处理知识。
最重要的是,重新发明轮子是一个不好的举动。
http://sofzh.miximages.com/c%23/Error.aspx“, FileMode.Create); JpegBitmapEncoder encoder = new JpegBitmapEncoder(); encoder.QualityLevel = 30; encoder.Frames.Add(BitmapFrame.Create(image)); encoder.Save(stream);
Android中的位图
using (System.IO.Stream stream = System.IO.File.Create(targetFile)) { bitmap.Compress(Bitmap.CompressFormat.Jpeg, 30, stream); }
iOS中的UIImage
NSData data = image.AsJPEG(0.3);
.NET框架中的位图
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders(); ImageCodecInfo codec = codecs.First(t => t.FormatID == ImageFormat.Jpeg.Guid); EncoderParameters parameters = new EncoderParameters(1); parameters.Param[0] = new EncoderParameter(Encoder.Quality, 30L); bitmap.Save("output.jpg", codec, parameters);