一.Paint与Canvas 像我们平时画图一样,需要两个工具,纸和笔.Paint就是相当于笔,而Canvas就是纸,这里叫画布. 所以,凡有跟要要画的东西的设置相关的,比如大小,粗细,画笔颜色,透明度,字体的样式等等,都是在Paint里设置:同样,凡是要画出成品的东西,比如圆形,矩形,文字等相关的都是在Canvas里生成. 下面先说下Paint的基本设置函数: paint.setAntiAlias(true);//抗锯齿功能 paint.setColor(Color.RED);  //设置画笔…
作为Android Graphics专题的开篇.毫无疑问,我们将讨论Android UI技术的核心概念--Canvas. Canvas是Android UI框架的基础,在Android的控件体系中.全部容器类.控件类在实现上都依赖于Canvas.界面的绘制实质上都是Canvas绘制的.本文将讨论Canvs的由来.并通过实例展示Canvas的基础使用方法. 对于应用开发而言,我们能够不去深究Canvas与Android 控件体系的实现细节,但明确Canvas与控件的关联有助于我们更好的使用Canv…
Android的绘图应该继承View组件,并重写它的onDraw(Canvas canvas)方法即可. 重写onDraw(Canvas canvas)方法时涉及一个绘图API:Canvas,Canvas代表了“依附”于指定View的画布,它提供了如表7.1所示的方法绘制各种图形. 表7.1  Canvas的绘制方法  方法签名     简要说明 drawArc(RecF oval,float startAngle,flaot sweepAngle,boolean useCenter,Paint…
android Graphics(四):canvas变换与操作 分类: 5.andriod开发2014-09-05 15:05 5877人阅读 评论(18) 收藏 举报   目录(?)[+]   前言:前几篇讲解了有关canvas绘图的一些操作,今天更深入一些,讲讲对画布的操作,这篇文章不像前几篇那么容易理解,如果以前没有接触过画布的童鞋可能比较难以理解,为什么会这样.我尽量多画图,让大家更清晰明白. 前几天偶然看到一篇文章,写的朴实无华,充满正能量,我非常喜欢里面的一句话,很像我现在的状态,分…
前言:前几篇讲解了有关canvas绘图的一些操作,今天更深入一些,讲讲对画布的操作,这篇文章不像前几篇那么容易理解,如果以前没有接触过画布的童鞋可能比较难以理解,为什么会这样.我尽量多画图,让大家更清晰明白. 前几天偶然看到一篇文章,写的朴实无华,充满正能量,我非常喜欢里面的一句话,很像我现在的状态,分享给大家. 人生最纠结的事情不是你甘于平淡,而是你明明不希望平凡却不知道未来应该怎么办. ----摘自<三十岁那年,我的梦想是年薪十万> 相关文章: 1.<android Graphics…
近期在做和图片相关显示的出现了一个问题,整理一下思路.分享出来给大家參考一下: Exception Type:java.lang.RuntimeException java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@XXXXX at android.graphics.Canvas.throwIfCannotDraw(Canvas.java:1282) at andr…
前言:我最近想抽空研究研究android的各种特效,android的特效真是其它平台无法比拟的,而且一个漂亮的UI交互,会给APP增色不少,而学习特效之前,有关graphics绘图的基础知识是必不可少的,下面就分几篇对涉及到的基础知识进行梳理. 志不强者智不达,言不信者行不果.——墨翟 (凡诸事有成者都有惊人的毅力做后盾,相信自己,持之以恒,不久的将来,我们都将有一番成就,勤不富也饱,懒不死也饿) 相关文章: 1.<android Graphics(一):概述及基本几何图形绘制>2.<a…
游戏编程相关参考 Matrix学习系列: http://www.moandroid.com/?p=1781 Android画图学习总结系列: http://www.moandroid.com/?p=764 游戏开发系列(opengl es基础知识): http://www.moandroid.com/?p=1730 线性代数(包含矩阵的相关知识): http://dl.iteye.com/topics/download/b56a388a-3408-3179-972b-3a72bdbaaa28 俄…
前言:最近几天对画图的研究有些缓慢,项目开始写代码了,只能在晚上空闲的时候捯饬一下自己的东西,今天给大家讲讲区域的相关知识,已经想好后面两篇的内容了,这几天有时间赶紧写出来给大家.有关界面开发的东东内容确实比较多,慢慢来吧,总有一天会不一样. 我自己的一句警言,送给大家: 想要跟别人不一样,你就要跟别人不一样.----- Harvic 相关文章: 1.<android Graphics(一):概述及基本几何图形绘制>2.<android Graphics(二):路径及文字>3.&l…
目录结构: contents structure [+] EmbossMaskFilter BlurMaskFilter MaskFilter可以用来指定画笔的边缘效果.如果引用开启硬件加速的话,那么MaskFilter将不会起作用.关闭硬件加速: android:hardwareAccelerated="false" Android中有两个已知的MaskFilter实现类,分别是:BlurMaskFilter和EmbossMaskFilter:BlurMaskFilter:指定模糊样…
Matrix类包含了一个3x3的矩阵用来改变坐标,它没有一个构造器来初始化它里边的内容,所以创建实例后需要调用reset()方法生成一个标准matrix,或者调用set..一类的函数,比如setTranslate, setRotate,,该函数将会决定matrix如何来改变坐标.SDK里边没有讲述Matrix的3x3矩阵是如何改变点的坐标值的,但是我在代码里边通过打印那9个点的值时,大致可以得到如下结论,9个值[a,b,c,d,e,f,g,h,i],坐标[x,y],当g=0,h=0,i=1,的时…
前言:今天项目进入攻关期,他们改Bug要改疯掉了,主管为了激励大家,给大家发了一封邮件,讲到他对项目和学习的理解,一个很好的图形模型,分享给大家,如图在下面给出:(不便给出原文,我仅做转述)无论是学习还是其它回报,它的回报曲线如下 :蓝色是(成长+付出),红色是回报.有多久可以达到这个红心,要看我们自已的努力,付出了多少专注与汗水.红色线的上挑,是前期厚积薄发的过程,先有异常低调的学习和努力,才会有海阔天空的心态和能量. 相关文章: 1.<android Graphics(一):概述及基本几何图…
Paint类提供了setXfermode(Xfermode xfermode)方法,Xfermode指明了原图像和目标图像的结合方式.谈到Xfermode就不得不谈它的派生类PorterDuffXfermode,PorterDuffXfermode类只有一个构造函数如下: public PorterDuffXfermode (PorterDuff.Mode mode) 创建PorterDuffXfermode实例,需要指定porter-duff模式.porter-duff实际上是Thomas P…
本篇博客主要讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放.旋转.位移.倾斜等.在最后将以一个简单的Demo来演示图片特效的变换. 1. Matrix概述 对于一个图片变换的处理,需要Matrix类的支持,它位于"android.graphics.Matrix"包下,是Android提供的一个3*3 矩阵工具类: 它本身不能对图像或View进行变换,但它可与其他API结合来控制图形.View的变换,如Canvas.Matrix提供了一些方法来控制图片变换: setTrans…
android.graphics.Camera可以对图像执行一些比较复杂的操作,诸如旋转与绽放,与Matrix可实现图像的倾斜. 个人总结Camera与Matrix的一些区别如下: Camera的rotate()相关方法是指定某一维度上旋转指定的角度. Matrix的rotate()相关方法实现的效果是顺时针旋转指定的角度:与Camera指定Z轴旋转效果相同,但方向相反. Camera的translate()方法根据某一维度上视点的位移实现图像的缩放,与Matrix的scale()相关方法作用效…
转载请注明出处王亟亟的大牛之路 之前也有一个相似于画板的操作,可是不够具体,这边先补上链接.有兴趣的小伙伴能够看看http://blog.csdn.net/ddwhan0123/article/details/48804761 还是老规矩,将内容之前说下我们的一些知识点.今天的第一个知识点有点高DA上的名词"硬件加速". 硬件加速: 问题1:这玩意有什么用? 在绘制View的时候支持硬件加速.充分利用GPU的特性,使得绘制更加平滑. 问题2:怎么用? 在AndroidManifest的…
PopupWindow简单介绍 PopupWindow是悬浮在当前activity上的一个容器,用它能够展示随意的内容. PopupWindow跟位置有关的API有以下几个: showAsDropDown(View anchor, int xoff, int yoff, int gravity) 显示在anchor的左下角,通过xoff,yoff调整距离.gravity是popup相对于anchor的对齐方式.假设popup超出屏幕,而且展示内容的根容器是滑动控件,将以滑动方式展示.假设展示内容…
int android.graphics.Bitmap.getRowBytes() Return the number of bytes between rows in the bitmap's pixels. Note that this refers to the pixels as stored natively by the bitmap. If you call getPixels() or setPixels(), then the pixels are uniformly trea…
在进行android开发过程中,忽然发现经常弹出来parseSdkContent failed 这个错误,然后google了下解决办法 方法1: 删除.android文件 重启eclipse. 该方法对我来说还是管用的,确实没有弹出这些东西了.但是在启用SDK Manger或者虚拟机的时候,弹出了parseSdkContent failed Could not initialize class android.graphics.Typeface这个问题,解决google吧. 然后在stackov…
void android.graphics.Bitmap.recycle() Free up the memory associated with this bitmap's pixels, and mark the bitmap as "dead", meaning it will throw an exception if getPixels() or setPixels() is called, and will draw nothing. This operation cann…
一.创建路径 canvas中绘制路径利用: void drawPath (Path path, Paint paint) 1.直线路径 void moveTo (float x1, float y1):直线的开始点:即将直线路径的绘制点定在(x1,y1)的位置:void lineTo (float x2, float y2):直线的结束点,又是下一次绘制直线路径的开始点:lineTo()可以一直用:void close ():如果连续画了几条直线,但没有形成闭环,调用Close()会将路径首尾点…
在开发中,一直使用4.0以上手机作为測试机所以一直没有出现这个问题,今天换了2.3版本号的手机.出现了这个错误: trying to use a recycled bitmap android.graphics.Bitmap 后检查代码,我的图片回收代码是介个样子的: public static void recycle(View view) {if (null == view) {return;} BitmapDrawable bd = (BitmapDrawable) view.getBac…
canvas介绍 Paint类介绍 代码示例 效果图…
mPaint = new Paint(); mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SCREEN)); 常见的Xfermode(SRC为原图,DST为目标图),把代码中的SRC_IN换成下图指定的模式就会出现对应的效果图. Canvas canvas = new Canvas(Src); paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); canvas.draw…
近期遇到了如标题这种错误,再次记录解决方法.本文參考帖子: http://bbs.csdn.net/topics/390196217 出现此bug的原因是在内存回收上.里面用Bitamp的代码为: top=(ImageView)view.findViewById(R.id.top); bitmap=ImgBitmap.comeFromRes(getResources(), R.drawable. top); top.setImageBitmap(bitmap); bottom=(ImageVie…
近期遇到了如标题这种错误,再次记录解决方法.本文參考帖子: http://bbs.csdn.net/topics/390196217 出现此bug的原因是在内存回收上.里面用Bitamp的代码为: top=(ImageView)view.findViewById(R.id.top); bitmap=ImgBitmap.comeFromRes(getResources(), R.drawable. top); top.setImageBitmap(bitmap); bottom=(ImageVie…
当须要在Android上绘制图形时.就会用到Graphics类.Paint类.Paint就是相当于笔,而Canvas就是 纸.这里叫画布. 所以,凡有跟要要画的东西的设置相关的.比方大小,粗细,画笔颜色,透明度,字体的样式等等,都 是在Paint里设置:相同,凡是要画出成品的东西.比方圆形,矩形,文字等相关的都是在Canvas里生 成. 以下先说下Paint的基本设置函数:     paint.setAntiAlias(true);//抗锯齿功能     paint.setColor(Color…
画笔Graphics Java中提供了Graphics类,他是一个抽象的画笔,可以在Canvas组件(画布)上绘制丰富多彩的几何图和位图. Graphics常用的画图方法如下: drawLine(): 绘制直线 drawString(): 绘制字符串 drawRect(): 绘制矩形 drawRoundRect(): 绘制带圆角的矩形 drawOval():绘制椭圆形 drawPolygon():绘制多边形边框 drawArc():绘制一段圆弧(可能是椭圆的圆弧) drawPolyline():…
Surface&Canvas Canvas为在画布的意思.Android上层的作图几乎都通过Canvas实例来完成,其实Canvas更多是一种接口的包装.drawPaints ,drawPoints,drawRect,drawBitmap …                    jj.jpg (5.64 KB, 下载次数: 0) 下载附件  保存到相册 2012-3-22 13:02 上传   1 Canvas与Surface之间本质关系 对于本节,我们不去研究Skia图形引擎本身,我们需要了…
Android Frame Animation: XML, Concepts and Optimization Frame Animation Concepts: Cels, Framerate, and Resolution 动画的发展 cel-base animation raster animation bitmap commonly called bitmap animation not currently support Animated GIF Optimizing Frame An…