2011.10.12——— android 关于canvas.translate(x,y)
参考:
http://blog.csdn.net/gaomatrix/article/details/6625299
之前对于canvas.translate(x,y)的理解有的错误,之前一直以原点(0,0)为基准点,作用就是移动原点,默认的原点(0,0)是在屏幕左上角的,你可以通过translate(x,y)把点(x,y)作为原点,就一直以为这个(x,y)就是新的坐标原点。但看一下API就会知道,这种理解是不对的,不过API上面讲解的也不太清楚:
public void translate (float dx, float dy)
Since: API Level 1
Preconcat the current matrix with the specified translation
Parameters
dx The distance to translate in X
dy The distance to translate in Y
其实参数的意思是原来的原点分别在x轴和y轴偏移多远的距离,然后以偏移后的位置作为坐标原点。也就是说原来在(100,100),然后translate(1,1)新的坐标原点在(101,101)而不是(1,1)
分享到:
相关推荐
这篇博客"2011.09.20(3)——— android canvas.clipRect"主要探讨了Canvas类中的`clipRect()`方法,这是一个非常关键的裁剪操作,用于限制后续绘图操作的区域。 `clipRect()`方法允许开发者定义一个矩形区域,...
这篇博客“2011.10.10(2)——— android Clipping关于剪切”可能探讨了如何在Android系统中实现和应用剪切功能,而“源码”和“工具”标签则暗示博主可能分享了相关的代码示例和实用工具。 Android中的剪切主要...
这篇博客“2011.10.12(3)——— android Matrix学习02”可能深入探讨了Matrix类的使用方法,虽然具体的细节没有给出,但我们可以根据Matrix的基本功能和常见用法来展开讨论。 1. **Matrix类的介绍**:Matrix是...
这篇博客“2011.10.13(2)——— android Matrix学习03”可能深入探讨了Matrix类的一些高级用法和实践技巧。虽然描述中没有提供具体信息,但从标题可以推断,这可能是系列教程的第三部分,继续深化对Matrix的理解。...
canvas.drawRoundRect(new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight()), 10f, 10f, paint); ``` 接下来,我们讨论如何实现倒影效果。倒影通常需要手动处理位图,生成一个新的Bitmap,然后将其翻转并叠加在...
标题中的“2011.09.21——— android 动态壁纸开发”表明这是一个关于Android平台上的动态壁纸开发教程或项目,可能包含了2011年9月21日时的技术要点和实践案例。动态壁纸是Android系统中的一种特性,允许用户设置...
《Android 4.X 开发完全上手——手把手构建完整Android App范例》是一本针对初学者和进阶开发者深入浅出的Android应用开发指南。该压缩包文件包含的源代码资源,旨在帮助读者通过实践操作,理解并掌握Android 4.X...
微信小程序——小程序完整demo:飞翔的小鸟:canvas实现,java后端(适用1221)(截图+源码).zip 微信小程序——小程序完整demo:飞翔的小鸟:canvas实现,java后端(适用1221)(截图+源码).zip 微信小程序——小程序...
总的来说,`canvas.save()`和`canvas.restore()`是Android图形编程中不可或缺的部分,它们使得复杂图形的绘制变得有序且可控。掌握这两者的使用,对于创建动态、富有层次感的用户界面至关重要。在实际项目中,开发者...
Android Canvas是Android系统中用于图形绘制的核心组件,它在Android应用开发中扮演着至关重要的角色。...在学习过程中,参考提供的“android-canvas.pdf”文档,将会对理解Canvas的工作原理和实践技巧有很大帮助。
这份“安卓Android源码——(Canvas画布).rar”压缩包很可能是包含了一些关于Canvas使用的源代码示例或者解析,帮助我们深入理解Android图形绘制的底层机制。 Canvas是Android中的一个类,它允许开发者通过调用其...
- 使用`canvas.drawText()`方法绘制文本,传入文本内容、x坐标(初始时为0,每绘制一行后减去文本宽度)、y坐标(初始时为0,每绘制一行后增加文本高度)。 - 使用`canvas.restore()`恢复Canvas的状态,结束竖排...
在这个方法中,我们使用`canvas.drawCircle`和`PorterDuff.Mode.SRC_IN`来裁剪Bitmap为圆形。 ```java public class CircleImageView extends AppCompatImageView { @Override protected void onDraw(Canvas ...
2. **定义圆点**:创建一个数组来存储所有圆点的信息,包括位置(x, y坐标)、半径、颜色、速度等。 3. **绘制圆点**:在每一帧中,遍历圆点数组,使用`ctx.beginPath()`开始路径,`ctx.arc()`绘制圆,`ctx....
canvas.drawBitmap(bmp, 0, 0, null); } } ``` 或者,使用 BitmapDrawable 将位图显示到 View 中: ```java // 获取位图 Bitmap bmp = BitmapFactory.decodeResource(res, R.drawable.pic180); // 转换为 ...
在安卓Android开发中,Canvas是绘制图形的核心组件之一,它提供了在Bitmap或其他可绘表面上进行图形绘制的方法。本文将深入探讨Canvas画布及其在Android源码中的应用。 首先,Canvas可以理解为一个画板,开发者可以...
3. **绘制圆点**:在每一帧中,可能创建多个随机位置和大小的圆点,使用`ctx.beginPath()`开始一个新的路径,然后`ctx.arc(x, y, radius, startAngle, endAngle, anticlockwise)`绘制圆,最后`ctx.fill()`或`ctx....
canvas.text.js