我正在通过wifi或移动网络将图像发送到服务器进行存储和再次检索。我已经完成了这个过程,但由于相机拍摄的图像大小,我的应用程序变得很慢。需要指出的是,我是从相册中打开并获取图片,并非直接从应用程序中获取图片。我注意到来自whatsapp的图片已被压缩到约100kb左右。
所以我的问题是,在发送之前如何压缩我的图像?另外,当应用程序使用该图像时,我不需要图像保留高像素计数,因为它只会占用设备屏幕的一半。
感谢您提供的任何帮助。
目前,我的代码将文件转换为字节,然后发送它。以下是将文件转换为字节的方法:
private void toBytes(String filePath){
try{
File file = new File(filePath);
InputStream is = new BufferedInputStream(new FileInputStream(file));
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
bytes = new byte[(int) filePath.length()];
int bytes_read;
while((bytes_read = is.read(bytes, 0, bytes.length)) != -1){
buffer.write(bytes, 0, bytes_read);
}
is.close();
bytes = buffer.toByteArray();
}catch(Exception err){
Toast.makeText(getApplicationContext(), err.toString(), Toast.LENGTH_SHORT).show();
}
}
所以我的问题是,在发送之前如何压缩我的图像?另外,当应用程序使用该图像时,我不需要图像保留高像素计数,因为它只会占用设备屏幕的一半。
感谢您提供的任何帮助。