Android图形绘制之——贴图的艺术
来源:互联网 发布:m audio声卡驱动mac 编辑:程序博客网 时间:2024/05/21 19:30
1.自定义view
2.重写onDraw()方法
3.XML中引用
自定义view代码:
public class MyView02 extends View{ private Bitmap bitmap;//本地图片资源 private Paint paint;//画笔 public MyView02(Context context, AttributeSet attrs) { super(context, attrs); initBtimap(); } /** * 初始化图片 */ private void initBtimap() { paint = new Paint();//创建一个画笔 bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.h_p_l_image); } /** * 重写绘制方法 */ @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); paint.setAntiAlias(true);//打开抗锯齿 paint.setColor(Color.RED);//设置画笔颜色 paint.setTextSize(15);//设置画笔字体大小 canvas.drawBitmap(bitmap, 10, 10, paint);//绘制图片 canvas.save();//保存画布状态 Matrix m1 = new Matrix();//创建矩阵对象 m1.setTranslate(500, 10);//平移矩阵 Matrix m2 = new Matrix();//创建矩阵对象 m2.setRotate(15);//以一定的角度旋转矩阵 Matrix m3 = new Matrix();//创建矩阵对象 m3.setConcat(m1, m2);//连接矩阵1和矩阵2 m3.setScale(0.8f, 0.8f);//缩放矩阵 canvas.drawBitmap(bitmap, m2, paint); canvas.restore();//恢复画布状态 canvas.save();//保存画面状态 paint.setAlpha(180);//设置透明度 m1.setTranslate(200, 100);//平移矩阵1 m2.setScale(1.3f, 1.3f);//缩放矩阵2 m3.setConcat(m1, m2);//连接矩阵1和矩阵2 canvas.drawBitmap(bitmap, m3, paint);//绘制图片 paint.reset();//恢复画笔设置 canvas.restore();//恢复画布设置 paint.setTextSize(40);//设置字体大小 paint.setColor(Color.RED);//设置画笔颜色 canvas.drawText("图片的宽度" + bitmap.getWidth(), 20, 220, paint); paint.reset(); paint.setTextSize(30); paint.setColor(Color.BLACK); canvas.drawText("图片的高度" + bitmap.getHeight(), 20, 260,paint); paint.reset();//恢复画笔设置 }}XML中引用:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".ui.activity.MyViewActivity"> <testku.mygame.ui.myview.MyView02 android:layout_width="match_parent" android:layout_height="match_parent"/></LinearLayout>运行效果:
0 0
- Android图形绘制之——贴图的艺术
- Android图形绘制之——简单的几何图形
- Android开发——Drawable绘制图形之Shape
- android编程之图形绘制
- android之各种图形绘制
- Android图形解锁的绘制
- Android:图形解锁的绘制
- 【BumpMap】凹凸贴图绘制简单图形
- C#—绘制图形
- Android 学习 之 图形绘制篇 获取要绘制的文字的宽度/长度
- Android之GPU过度绘制与图形渲染优化——Hierarchyviewer时间不显示
- 转战Android之NDK(图形绘制)
- Android 学习之--View 绘制图形
- Android应用开发:图形绘制之硬件加速
- Android应用开发:图形绘制之硬件加速
- Android应用开发:图形绘制之硬件加速
- Android应用开发:图形绘制之硬件加速
- 图形渲染之纹理贴图
- c++pp 7.13.2
- 用MATLAB对图像进行采样处理
- java基础学习API之BigDecimal类 九-5
- 【BZOJ 4557】【JLOI 2016】侦查守卫
- map 转化表单字符串
- Android图形绘制之——贴图的艺术
- 前端总结·基础篇·CSS(一)布局
- Wireshark实战分析之TCP协议
- Linux centos安装redis
- 程序的链接方式
- 【转】windows的 fsutil命令
- 前端表关联SQL拼接实现
- DTS Audio Codec 码率
- Linux centos安装git