我正在尝试裁剪GIF动画,为此,我从裁剪GIF的每个位图开始,在裁剪完位图后,我会将它们存储在ArrayList中,但是裁剪图像时尺寸方面存在问题
我得到什么:
Rect rect = ((GIFCropper) findViewById(R.id.CropView)).getCropRect();
final String srcPath = path;
desPath = getDesPath(srcPath, cropIndex);
GifDecoder gifDecoder = new GifDecoder();
boolean isSucceeded = gifDecoder.load(path);
if (isSucceeded) {
for (int i = 0; i < gifDecoder.frameNum(); ++i) {
croppedBmp = Bitmap.createBitmap(gifDecoder.frame(i), rect.centerY(), rect.centerX(), rect.width(), rect.height());
bitmapArrayList.add(croppedBmp);
}
}
答案 0 :(得分:0)
首先,您需要确保作物夹持器视口正确映射到位图大小
然后更改此:
Bitmap.createBitmap(gifDecoder.frame(i),rect。 centerY(),rect。 centerX(),rect.width(),rect.height( ));
对此:
Bitmap.createBitmap(gifDecoder.frame(i),矩形左,矩形顶,rect.width(),rect.height()); < / p>