CanvasAPI

//填充RGB
void drawRGB(int r, int g, int b);
void drawARGB(int a, int r, int g, int b);
//填充Color
void drawColor(int color);
void drawColor(int color, PorterDuff.Mode mode);
//指定画笔
void drawPaint(Paint paint);
//画点
void drawPoints(float[] pts, int offset, int count, Paint paint);
void drawPoints(float[] pts, Paint paint);
void drawPoint(float x, float y, Paint paint);
//画直线
void drawLine(float startX, float startY, float stopX, float stopY, Paint paint);
void drawLines(float[] pts, int offset, int count, Paint paint);  //pts数组里的每两个元素为一个点,每两个点画一条直线
void drawLines(float[] pts, Paint paint);
//画矩形
void drawRect(RectF rect, Paint paint);
void drawRect(Rect r, Paint paint);
void drawRect(float left, float top, float right, float bottom, Paint paint);
//画椭圆
void drawOval(RectF oval, Paint paint);
//画圆
void drawCircle(float cx, float cy, float radius, Paint paint);
//画弧,扇形
void drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint);
//画圆角矩形
void drawRoundRect(RectF rect, float rx, float ry, Paint paint);
//画路径
void drawPath(Path path, Paint paint);
//画位图
void drawBitmap(Bitmap bitmap, float left, float top, Paint paint);
void drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint);
void drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint);
void drawBitmap(int[] colors, int offset, int stride, float x, float y, int width, int height, boolean hasAlpha,
void drawBitmap(int[] colors, int offset, int stride, int x, int y, int width, int height, boolean hasAlpha, Paint paint);
void drawBitmap(Bitmap bitmap, Matrix matrix, Paint paint);
void drawBitmapMesh(Bitmap bitmap, int meshWidth, int meshHeight, float[] verts, int vertOffset, int[] colors, int colorOffset, Paint paint);
//画顶点
void drawVertices(VertexMode mode, int vertexCount, float[] verts, int vertOffset, float[] texs, int texOffset, int[] colors, int colorOffset, short[] indices, int indexOffset,
//画字
void drawText(char[] text, int index, int count, float x, float y, Paint paint);
void drawText(String text, float x, float y, Paint paint);
void drawText(String text, int start, int end, float x, float y, Paint paint);
void drawText(CharSequence text, int start, int end, float x, float y, Paint paint);
//绝对值画字
void drawPosText(char[] text, int index, int count, float[] pos, Paint paint);
void drawPosText(String text, float[] pos, Paint paint);
//根据路径画字
void drawTextOnPath(char[] text, int index, int count, Path path, float hOffset, float vOffset, Paint paint);
void drawTextOnPath(String text, Path path, float hOffset, float vOffset, Paint paint);
//画图片
void drawPicture(Picture picture);
void drawPicture(Picture picture, RectF dst);
void drawPicture(Picture picture, Rect dst);
//裁剪
boolean clipRect(RectF rect, Region.Op op);
boolean clipRect(Rect rect, Region.Op op);
boolean clipRect(RectF rect);
boolean clipRect(Rect rect);
boolean clipRect(float left, float top, float right, float bottom, Region.Op op);
boolean clipRect(float left, float top, float right, float bottom);
boolean clipRect(int left, int top, int right, int bottom);
boolean clipPath(Path path, Region.Op op);
boolean clipPath(Path path);
boolean clipRegion(Region region, Region.Op op);
boolean clipRegion(Region region);
//图层保存与恢复操作
int save();   //保存当前图层
int save(int saveFlags);
//保存指定区域图层
//paint为要保存的画笔,restore()后可以用。一般为null
//saveFlags为要保存的内容
int saveLayer(RectF bounds, Paint paint, int saveFlags);  
int saveLayer(float left, float top, float right, float bottom, Paint paint, int saveFlags);
//保存指定区域图层,并修改其透明度
int saveLayerAlpha(RectF bounds, int alpha, int saveFlags);
int saveLayerAlpha(float left, float top, float right, float bottom, int alpha, int saveFlags);
void restore();         //恢复上一层图层
int getSaveCount();     //获得已只在的图层数量
void restoreToCount(int saveCount);  //恢复指定层的图层
//图层变换
void translate(float dx, float dy);
void scale(float sx, float sy);
void scale(float sx, float sy, float px, float py);
void rotate(float degrees);
void rotate(float degrees, float px, float py);
void skew(float sx, float sy);  //扭曲
void concat(Matrix matrix);  //Maxrix矩阵变换

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏分享达人秀

两分钟掌握FrameLayout帧布局

前面学习了线性布局、相对布局、表格布局,那么本期来学习第四种布局——FrameLayout帧布局。 一、认识FrameLayout 帧布局是An...

24890
来自专栏Android知识点总结

Android关于Paint你所知道的和不知道的一切

29120
来自专栏Android小菜鸡

自定义View学习之路(五)————彩虹环

  走往android的进阶之路,避不开自定义View的学习和绘制。这里以绘制一个可用的彩虹环为例。开始系统的学习View的绘制。 彩虹环需求:

11120
来自专栏angularejs学习篇

jQuery 图片轮播的代码分离

以前遇到过jQuery实现列表自动滚动,这次的图片轮播在原理上与之相同,只有一些细微的差别,就是需要在图片的右下角显示当前图片的序号。

37220
来自专栏前端知识分享

第165天:canvas绘制圆环旋转动画

23730
来自专栏编码前线

ConstraintLayout(约束布局)的使用

这些属性会引用另一个控件的id或者parent(这会引用父容器,即ConstraintLayout)

29730
来自专栏Python疯子

Swift - Button,Label

14420
来自专栏向治洪

自定义圆角和园边的实现

本来想在网上找个圆角的例子看一看,不尽人意啊,基本都是官方的Demo的那张原理图,稍后会贴出。于是自己自定义了个View,实现图片的圆角以及圆形效果。效果图: ...

22370
来自专栏陈仁松博客

UWP基础教程 - RelativePanel

在Windows10 UWP开发中,新增和改变了很多特性,这次给大家介绍下RelativePanel,这个控件其实和RelativeLayout基本一种使用方式...

36450
来自专栏封碎

Android画图之抗锯齿 博客分类: Android小技巧 Android

    在画图的时候,图片如果旋转或缩放之后,总是会出现那些华丽的锯齿。其实Android自带了解决方式。     方法一:给Paint加上抗锯齿标志。然后将...

27320

扫码关注云+社区

领取腾讯云代金券