bitmap写名字

来源:互联网 发布:me307ll a支持什么网络 编辑:程序博客网 时间:2024/04/28 20:35
/**     * 创建图片,并在图片右下角写上图片的名字     *     * @param bitmap     * @param pixels     * @return     */    public static Bitmap toWrittenBitmap(Bitmap bitmap, int w, int h,            String name) {        Bitmap output = Bitmap.createBitmap(w, h, Config.ARGB_8888);        Canvas canvas = new Canvas(output);        final Paint paint = new Paint();        paint.setAntiAlias(true);        canvas.drawARGB(0, 0, 0, 0);        canvas.drawBitmap(bitmap, (w - bitmap.getWidth()) / 2,                (h - bitmap.getHeight()) / 2, paint);        paint.setTextSize(15);        float x = paint.measureText(name);        if (x > w)            x = w - 2;        Rect rect = new Rect((int) (w - x), h - 18, w, h);        paint.setColor(Color.argb(100, 255, 255, 255));        canvas.drawRect(rect, paint);        paint.setColor(Color.BLACK);        canvas.clipRect(rect);        canvas.drawText(name, w - x, h - 2, paint);        return output;    }


public static Bitmap toCircleBitmap(Bitmap bitmap) {Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(), Config.ARGB_8888);Canvas canvas = new Canvas(output);Paint paint = new Paint();Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());RectF rectF = new RectF(rect);paint.setAntiAlias(true);canvas.drawARGB(0, 0, 0, 0);// paint.setColor(Color.GREEN);// int radius = bitmap.getWidth()>bitmap.getHeight() ?// bitmap.getWidth()/2:bitmap.getWidth()/2;// paint.setStrokeWidth(5);canvas.drawRoundRect(rectF, bitmap.getWidth() / 2,bitmap.getHeight() / 2, paint);// canvas.drawCircle(radius/2, radius/2, radius, paint);paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));// 遮罩rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());canvas.drawBitmap(bitmap, rect, rect, paint);return output;}

0 0
原创粉丝点击