图形图像处理技术

本文介绍了Android图形图像处理技术,包括使用Paint和Canvas进行画笔和画布操作,绘制几何图形、文本和图片。详细讲解了BitmapFactory类和Bitmap对象的创建,以及如何在屏幕上绘制Android机器人。此外,还探讨了Android的动画技术,如逐帧动画和补间动画,包括透明度渐变、旋转、缩放和平移等效果。
摘要由CSDN通过智能技术生成

画笔和画布

画笔:Paint类
画布:Canvas类
绘制一个矩形实例:(颜色使用的都是16进制的)
布局文件中设置帧布局管理器,id为framelayout,MainActivity中:

package com.example.huabihehuabu;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.FrameLayout;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        FrameLayout frameLayout=findViewById(R.id.framlayout);
        frameLayout.addView(new MyView(this));//把自定义View添加到帧布局管理器当中

    }
}

创建一个MyView.java,用于画图

package com.example.huabihehuabu;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.View;

public class MyView  extends View {
    public MyView(Context context) {
        super(context);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        Paint paint=new Paint();//定义一个默认画笔
        paint.setColor(0xffff6600);//设置画笔的颜色
        paint.setStyle(Paint.Style.FILL);//设置填充方式
        //绘制矩形
        canvas.drawRect(10,10,480,500,paint);//前面两个是左上角的坐标,后面两个是右上角的坐标,默认为px
    }
}

在这里插入图片描述

绘制几何图形

实例:在屏幕上绘制Android机器人
在这里插入图片描述
在布局文件中设置为framlayout,并设置id为framelayout,在MainActivity中:

package com.example;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.FrameLayout;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        FrameLayout frameLayout=findViewById(R.id.framlayout);
        frameLayout.addView(new MyView(this));//将自定义的View添加到布局管理器中

    }
}

新建MyView,

package com.example;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.view.View;

public class MyView extends View {
    public MyView(Context context) {
        super(context);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        //绘制机器人
        Paint paint=new Paint();//设置一个画笔
        paint.setAntiAlias(true);//采用抗锯齿功能
        paint.setCo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值