Android图形图像处理

本文介绍了Android图形图像处理的关键组件,包括Bitmap类用于位图操作,BitmapFactory作为位图工厂,Paint类作为画笔设定图形样式,以及Matrix类用于图像特效如旋转、缩放。详细讲解了Bitmap、Paint和Matrix类的主要方法。
摘要由CSDN通过智能技术生成

Android图形图像处理

市面上大多数的Android程序都会用到图形图像处理技术,例如绘制图形,为图片添加特效等。在绘制图像时最常用的就是Bitmap类、BitmapFactory类、Paint类、Canvas类和Matrix类。其中,Bitmap类代表位图,BitmapFactory类顾名思义就是位图工厂,它是一个工具类,Paint类代表画笔,Canvas类代表画布,为图片添加特效使用的是Matrix类。本文将针对图形处理的API进行讲解。

Bitmap类

Bitmao类是Android系统中非常重要的图像处理类,它提供了一系列的方法,可对图像进行旋转、缩放等操作,并可以指定格式保存图像文件。Bitmap类提供的常用方法如下所示:

方法 描述
drawArc (RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint) 绘制弧形
drawBitmap (Bitmap bitmap, float left, float top, Paint paint) 绘制位图
drawCircle (float cx, float cy, float radius, Paint paint) 绘制圆形
drawLine (float startX, float startY, float stopX, float stopY, Paint paint) 绘制一条线
drawPoint (float x, float y, Paint paint) 绘制一个点
drawRect (float left, float top, float right, float bottom, Paint paint) 绘制矩形
@Override
    protected void onDraw(Canvas canvas) {
   
        super.onDraw(canvas);

            Paint paint = new Paint();
            super.onDraw(canvas);
            paint.setColor(Color.RED);
            paint.setStrokeWidth(5);
            paint.setStyle(Paint.Style.FILL);

            //绘制路径
            Path path = new Path();
            path.addArc(200, 200, 400, 400, -225, 225);
            path.arcTo(400, 200, 600, 400, -180, 225, false);
            path.lineTo(400, 542);
            //路径剪裁
            canvas.clipPath(path);
            canvas.drawRect(0, 0, 800, 800, paint);
    }

convas

Paint类常用方法

Paint类代表画笔,用来描述图形的颜色和风格,如线宽、颜色、透明度和填充效果等信息。使用Paint类时,首先要创建它的实例对象,然后通过该类提供的方法来更改Paint对象的默认设置。Paint类提供的常用方法如下:

方法 描述
setAlpha(int a) 设置透明度
setARGB(int a, int r, int g, int b) 绘制颜色
setColor(int color) 设置颜色
setShader(Shader shader) 设置渲染效果
setShadowLayer(float radius, float dx, float dy, int color) 设置阴影
setStrokeWidth(float width) 设置画笔粗细
 protected void onDraw(Canvas canvas) {
   
        super.onDraw(canvas);
        // 把整张画布绘制成白色
        canvas.drawColor(Color.WHITE);
        Paint paint = new Paint();

        /**
         * 设置画笔的锯齿效果,去锯齿
         * 设置画笔颜色,蓝色
         * 设置画笔风格,空心
         * 设置空心画笔的宽度&
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值