文章分类:移动开发
做java的都知道,绘图肯定首先需要一个Canvas,然后在用Graphics在上面绘制自己想要图案。不错,
Android上面也类似,你可以从一个Bitmap得到它的Canvas,进行绘制,也可以自定义一个View,用它的Canvas。不同的时,
Android里没有Graphics,而用Paint代之,当然用法也稍有不同。以下是自定义View的一段代码:
- @Override
-
publicvoidonDraw(Canvascanvas){
-
-
Paintpaint=newPaint();
-
-
-
- paint.setColor(Color.WHITE);
-
- paint.setStyle(Style.FILL);
-
-
canvas.drawRect(newRect(0,0,getWidth(),getHeight()),paint);
-
-
-
- paint.setColor(Color.RED);
-
- paint.setStyle(Style.STROKE);
-
-
canvas.drawRect(newRect(10,10,50,20),paint);
-
-
-
- paint.setColor(Color.GREEN);
-
-
canvas.drawText(str,30,30,paint);
-
-
-
- Bitmapbitmap=BitmapFactory.decodeResource(getResources(),R.drawable.icon);
-
-
canvas.drawBitmap(bitmap,10,10,paint);
- }
@Override
public void onDraw(Canvas canvas) {
// 首先定义一个paint
Paint paint = new Paint();
// 绘制矩形区域-实心矩形
// 设置颜色
paint.setColor(Color.WHITE);
// 设置样式-填充
paint.setStyle(Style.FILL);
// 绘制一个矩形
canvas.drawRect(new Rect(0, 0, getWidth(), getHeight()), paint);
// 绘空心矩形
// 设置颜色
paint.setColor(Color.RED);
// 设置样式-空心矩形
paint.setStyle(Style.STROKE);
// 绘制一个矩形
canvas.drawRect(new Rect(10, 10, 50, 20), paint);
// 绘文字
// 设置颜色
paint.setColor(Color.GREEN);
// 绘文字
canvas.drawText(str, 30, 30, paint);
// 绘图
// 从资源文件中生成位图
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
// 绘图
canvas.drawBitmap(bitmap, 10, 10, paint);
}
以上需要注意的有三点:
1、
Android中的Rect和java中的可能稍有区别,前两个参数是左上角的坐标,后两个参数是右下角的坐标(不是宽度和高度);
2、Style.STROKE和Style.FILL外边的像素数是有区别的,这点和java里一样;
3、绘文字时,设置的坐标点为(30,30),但绘出来后你会发现,文字的左上角坐标要比你设置的偏上,不知道是
android设置的bug,还是我们有理解到坐标点的意义。
分享到:
相关推荐
Android绘图机制与处理技巧(一)——Android绘图技巧
Android绘图机制与处理技巧(三)——Android图像处理之图形特效处理
MATLAB图形技术——绘图及图形用户接口
北邮程序设计实验第一章的实验——绘图程序,Windows API框架下做的,这是一个完整的VS2017代码资源,供大家参考。
Matlab图形技术——绘图及图形用户接口,不错的Matlab在绘图方面应用的资料。
MATLAB图形技术——绘图及图形用户接口.pdf
安卓Android源码——(Canvas画布).rar
软件架构学习资料,对软件架构师来说,这可以作为初学材料!
《工程CAD制图》课程综合改革与学习质量分析——以我院建筑工程技术专业为例.pdf
安卓Android源码——画图工具源码.zip
自动化制图语言——ArcPy
如何引导学生深度学习——以《机械制图》为例.pdf
<同舟CAD>是AutoCAD二次开发的增值工具,适合于机械类或相关行业设计,倾注诸多资深机械设计师工程绘图经验,不断满足设计人员需求,是CAD工作者以及CAD爱好者不可缺少的精品工具。快速、高效是我们共同的追求!本...
安卓Android源码——手绘操作demo和经典绘图源码Pretty-Painter-master.zip
本代码主要利用MATLAB工具实现MATLAB——fplot绘图,简单明了,易于理解
C语言绘图函数,包括屏幕和视口设置与清除函数、调色板和颜色函数和屏幕位置函数,共20个绘图函数。
Android对于图片处理,最常使用到的数据结构是位图——Bitmap,它包含了一张图片所有的数据。整个图片都是由点阵和颜色值组成的,所谓点阵就是一个包含像素的矩阵,每一个元素对应着图片的一个像素。而颜色值——...
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具