问题是...假设我有非常好的质量camera.It返回高分辨率的图片。但我想上传该图片到服务器。所以如果图像尺寸很大,我想降低图像质量。任何帮助?感谢提前。如何降低摄像头在Android中拍摄的图片质量
回答
是的,你可以使用Bitmap.compress()
来做到这一点,你需要做的就是指定压缩格式,质量和输出格式。 请参阅以下链接 “https://developer.android.com/reference/android/graphics/Bitmap.html#compress(android.graphics.Bitmap.CompressFormat,int,java.io.OutputStream)”。
让我知道它是否可以帮助你!
这很好。但我认为这将需要一段时间的应用程序会更慢。是否有蚂蚁的方式来实际改变相机设置,这将使我的尺寸(以Kb为单位)的图像输出? –
如果发现位图保存速度较慢,请尝试以下操作: 尝试使用JPEG格式并仅在绝对必要时使用PNG。使用bitmap.compress'(Bitmap.CompressFormat.JPEG,100,out);' 如果你正在创建位图并且你不关心透明度,那么使用'Bitmap.Config.RGB_565'而不是'Bitmap.Config .ARGB_8888'。 使用位图位图= Bitmap.createBitmap(宽度,高度,Bitmap.Config.RGB_565);' –
如果编写Android的代码,我建议你设置你所需要的图像质量和存储/转码为JPEG
这是一个问题的相反的问题 - 这应该给你你需要什么?:How to compress Bitmap as JPEG with least quality loss on Android?
谢谢但我想android代码。不适用。其实我已经编写了相机代码并上传图片,但是我想在上传之前减小图片大小(以kb为单位)。 –
@ArnabKundu我改变了我的答案 - 并建议这可能是另一个问题的重复......如何在Android中存储具有x%质量的JPEG。 HTH –
感谢您的帮助。我会检查的。 –
我认为这是您的图片格式的问题上传图片通常* .raw的尺寸最大。你应该尝试上传JPG/PNG图像。当保存图像时,只需使用Filename.jpg作为文件名,图像将被保存。准备上传。您可以在文件上传后删除该文件。直到媒体商店探针{服务}得到更新后,更改将不会反映到您的画廊。您可以使用此https://github.com/googlesamples/android-Camera2Basic作为参考来构建应用程序
试试这个:要以KB为
得到具体尺寸图像/**
* reduces the size of the image
* param image bitmap received from camera
* @param maxSize
* @return
*/
public Bitmap getResizedBitmap(Bitmap image, int maxSize) {
int width = image.getWidth();
int height = image.getHeight();
float bitmapRatio = (float)width/(float) height;
if (bitmapRatio > 0) {
width = maxSize;
height = (int) (width/bitmapRatio);
} else {
height = maxSize;
width = (int) (height * bitmapRatio);
}
return Bitmap.createScaledBitmap(image, width, height, true);
}
这样使用它:
Bitmap scaledImage = getResizedBitmap(photo, 200); //here 200 is maxsize
对于最高质量的图像(Q = 100),每个颜色像素需要大约8.25位
因此,对于Q=100
的200x200
图像,这将导致(200 * 200) px * 8.25 bits/px = 330000 bits = ~ 41 kB
这肯定是小于64KB
你可以尝试其他尺寸太..只是改变了maxSize
参数
- 1. iOS:拍摄低质量图像
- 2. 如何在Flex中拍摄摄像头快照图片?
- 3. Android中的摄像头拍摄的旋转图片
- 4. 如何在Android中从摄像头获取当前拍摄图片的位置
- 5. 从网络摄像头拍摄的图片的形状识别
- 6. 使用java拍摄摄像头图片的最简单方法
- 7. 如何获取前置摄像头拍摄的图像路径
- 8. 如何显示用Emgu拍摄的摄像头图像?
- 9. Android前置摄像头拍摄倒影照片
- 10. 如何拍摄高质量的截图/保存图像?
- 11. 使用C摄像头拍摄命令与图片#
- 12. 意图调用摄像头,拍摄照片并接收uri?
- 13. 如何上传从android手机调用摄像头拍摄的图像?
- 14. 用相机拍摄的图像叠加在android中拍摄的图像
- 15. 摄像头拍摄并转换为AVI
- 16. 我的摄像头拍摄的照片与预览不一样
- 17. 使用DirectShowLib-2005的摄像头拍摄的照片和视频
- 18. 在android模拟器摄像头拍摄的保存照片的路径
- 19. 从摄像头变得模糊拍摄的照片
- 20. iPhone标题摄像头,imageview不显示拍摄的照片
- 21. 在web应用中使用摄像头和拍摄高清晰度(2Mpix)图片
- 22. AVFoundation:在视频会话中拍摄高质量静止图像
- 23. iOS,掌握刚使用设备摄像头拍摄的图像
- 24. Android摄像头在拍摄之间失去焦点
- 25. 检测照片是否与前置摄像头拍摄
- 26. 如何快速拍摄高质量的视频/照片?
- 27. 如何从IP摄像头的iOS的iPad/iPhone拍摄视频
- 28. 如何使用Camera 2 API Android提高拍摄图像的质量?
- 29. 在php中降低图像质量
- 30. 拍摄后应该旋转Android摄像头生成的图像吗?
可能的复制[如何保存Android上具有自定义质量级别的JPEG图像](http://stackoverflow.com/questions/4579647/how-to-save-a-jpeg-image-on-android-with-a-custom-quality-level) –