我有一个应用程序从相机拍摄照片,然后我对该照片进行一些图像处理操作。但这花费的时间太长,所以我想在图像处理操作之前减小位图的大小。重要的是,在较小的图像中分辨率必须良好。在android中是否有一个库,或者是否有人知道该操作的算法?
答案 0 :(得分:1)
一种方法是取每个n * n块的平均值并将其转换为单个像素。它不是绝对最清晰的方法,也不会完全没有文物,但我认为你会发现现实世界的结果是可以接受的 - 而且速度非常快。
答案 1 :(得分:0)
{ Bitmap bit=Shrinkmethod(arrpath1[position], 100, 100);
//This reduce the size of image in 1kb size so u can also consider VM nativeheap memory
iv.setImageBitmap(bit);//ImageView Obj.
}
//To reduce the byte size of image in program
//user defined method to reduce size of image without reducing the quality of img.
Bitmap Shrinkmethod(String file,int width,int height){
BitmapFactory.Options bitopt=new BitmapFactory.Options();
bitopt.inJustDecodeBounds=true;
Bitmap bit=BitmapFactory.decodeFile(file, bitopt);
int h=(int) Math.ceil(bitopt.outHeight/(float)height);
int w=(int) Math.ceil(bitopt.outWidth/(float)width);
if(h>1 || w>1){
if(h>w){
bitopt.inSampleSize=h;
}else{
bitopt.inSampleSize=w;
}
}
bitopt.inJustDecodeBounds=false;
bit=BitmapFactory.decodeFile(file, bitopt);
return bit;
}
//Try to upload ur project code and idea so that like u and me can get that to develop more android application..
Regard,
pranav