我有正方形或矩形的位图.我采取最短的一面,做这样的事情:
int value = 0;
if (bitmap.getHeight() <= bitmap.getWidth()) {
value = bitmap.getHeight();
} else {
value = bitmap.getWidth();
}
Bitmap finalBitmap = null;
finalBitmap = Bitmap.createBitmap(bitmap, 0, 0, value, value);
Run Code Online (Sandbox Code Playgroud)
然后我使用它将它缩放到144 x 144位图:
Bitmap lastBitmap = null;
lastBitmap = Bitmap.createScaledBitmap(finalBitmap, 144, 144, true);
Run Code Online (Sandbox Code Playgroud)
问题是它裁剪原始位图的左上角,任何人都有代码来裁剪位图的中心?
我有一个字节数组,其中包含一个图像...我想保存它裁剪.
我的工作方法是:获取byte []将其转换为位图,使用BitmapFactory.decodebytearray使用createbitmap(sourceBitmap,x1,y1,whileX,whileY)从其创建另一个位图,回收第一个(未剪切的)保存第二个,然后回收那个
问题是,有一段时间它存在2位图,原始和裁剪的一个,这就是为什么我不能使用这个方法与更大的图像(超过3MP)
有没有办法直接从字节数组裁剪图像?我看到有一个decodeByteArray(dataArray,偏移,长度,选项),但我无法从中制作图像(剩下的数据不是图像)...有人可能会帮忙吗?
我问是否有一个简单的方法,因为谷歌问题报告说使用decodeByteArray是不可能的.但该报告起源于2008年,我希望有一个解决方案没有发布在那里.问题报告中列出的方法是自己解码格式,但我宁愿不必将其放入并减慢程序速度.任何帮助都将不胜感激.