Vib*_*aya 3 xamarin.ios xamarin
我需要将图像上传到非常大的服务器,但我想保持宽高比但压缩文件的大小,因为我正在上传多个文件。
小智 5
如果您不想调整图像大小,则以 JPEG 和 PNG 格式发送将使其比仅发送位图数据更小。您可以获得NSDataPNG 或 JPEG 格式的图像表示。每种格式都有一些优点/缺点,但 JPEG 允许牺牲质量以获得更多压缩。
*假设您有一个UIImage命名的image.
using(NSData pngImage = image.AsPNG()){
byte[] imageBytes = pngImage.ToArray();
// upload your image data, write to a file, etc.
}
// AsJPEG compression argument can be 0 to 1
// 0 is max compression (lowest quality), 1 is best quality
using(NSData jpgImage = image.AsJPEG(0.0f)){
byte[] imageBytes = jpgImage.ToArray();
// upload your image data, write to a file, etc.
}
Run Code Online (Sandbox Code Playgroud)
您还可以在循环中使用AsJPEG递减的压缩值来尝试使图像大小低于特定阈值。不过,这可能有点慢,因此您必须权衡特定用途的好处。
| 归档时间: |
|
| 查看次数: |
3934 次 |
| 最近记录: |