SER*_*ERG 0 android image-uploading loopj picasso
我正在使用loopj上传图像.
params.put("file_"+key+"", new File(String.valueOf(value.getOriginalPath())));
Run Code Online (Sandbox Code Playgroud)
但我想在上传前调整图片大小.有没有办法"动态"调整图像大小 - 没有调整大小 - >保存到SD->上传?只调整内存和上传 - InputStream?
谢谢.
您可以使用Bitmaps createScaledBitmap(),如此处所述
这个怎么样:如何调整Android中的位图大小?
编辑 - 将位图发送到服务器
内存中的位图非常大,因为它不像PNG或JPEG那样被压缩,而是每个像素需要3个甚至4个字节的内存.因此,您需要在上传之前将该位图转换为例如PNG.这可以使用Bitmap.compress(...)方法完成,该方法需要OutputStream将压缩图像写入.由于您不希望在上传之前将图像保存到SD卡,因此您可以使用ByteArrayOutputStream替代方法将压缩图像保留在内存中.
然后,您可以附加一个ByteArrayInputStream写入的字节并将其传递给loopj.
在代码中,这看起来应该是这样的:
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
b.compress(Bitmap.CompressFormat.PNG, quality, outStream);
ByteArrayInputStream inStream = new ByteArrayInputStream(outStream.toByteArray());
/* ...and then pass inStream loopj */
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3249 次 |
| 最近记录: |