使用矩形尺寸裁剪图像

Posted

技术标签:

【中文标题】使用矩形尺寸裁剪图像【英文标题】:crop image using rectangle dimensions 【发布时间】:2018-09-17 20:50:36 【问题描述】:

我正在尝试裁剪 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);
                    

                

【问题讨论】:

【参考方案1】:

首先,您需要确保裁剪架视口正确映射到位图大小

然后改变这个:

Bitmap.createBitmap(gifDecoder.frame(i), rect.centerY(), rect.centerX(), rect.width(), rect.height( ));

到这里:

Bitmap.createBitmap(gifDecoder.frame(i), rect.left, rect.top, rect.width(), rect.height());

【讨论】:

以上是关于使用矩形尺寸裁剪图像的主要内容,如果未能解决你的问题,请参考以下文章

使用非矩形形状在 flex 中裁剪图像

如何使用 jcrop 裁剪不同尺寸的图像

在浏览器中自动裁剪图像

使用画布矩形裁剪图像

需要圆形裁剪功能而不是矩形

裁剪区域不是矩形时裁剪图像