createBitmap简单的裁剪android

时间:2016-08-22 00:36:25

标签: java android cordova image-processing createbitmap

代码使用:

Bitmap cropImg = Bitmap.createBitmap(bitmap, cropW, cropH, newWidth, newHeight);

不是java程序员,但据我所知,一切都是从左上角开始的。

我的尺寸是

cropW: '696',
cropH: '72',
newWidth: '1200',
newHeight:'1800',

但我最终得到了图片的左上角..

我真正想要的是给它4分,然后在中间取出图像。

我使用它作为Cordova / Phonegap的插件,如果它有所作为。

任何帮助或解释都会有所帮助。

由于

1 个答案:

答案 0 :(得分:0)

使用下面的功能

public  Bitmap getCircleBitmap(Bitmap bm) {

    int sice = Math.min((bm.getWidth()), (bm.getHeight()));

    Bitmap bitmap = ThumbnailUtils.extractThumbnail(bm, sice, sice);

    Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);

    Canvas canvas = new Canvas(output);


    int color = 0xff424242;
    final Paint paint = new Paint();
    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
    final RectF rectF = new RectF(rect);

    paint.setAntiAlias(true);
    paint.setDither(true);
    paint.setFilterBitmap(true);
    paint.setColor(color);
    canvas.drawARGB(0, 0, 0, 0);

    canvas.drawOval(rectF, paint);
    //canvas.drawCircle(50, 50, 50, paint);
    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
    canvas.drawBitmap(bitmap, rect, rect, paint);

 return output;

}