温馨提示:请使用电脑浏览器打开,以确保最佳的阅读体验,谢谢.( ̄▽ ̄)”
1. 正文
>本家(包)
require 'import' |
2d绘图需要两个重要的东西(类),画布(Canvas)
,画笔(Paint)
>画布(Canvas)
- 画布大概有这几类调整
- 大小.
- 颜色.
>画笔(Paint)
参考文章Paint类介绍
作用 | 方法 | 输入示例 | 说明 |
---|---|---|---|
设置画笔颜色/透明度 | void Paint.setColor(int color) | 0xff3399ff | 输入颜色值,0xAA RR GG BB |
设置画笔透明度/颜色 | void Paint.setARGB(int A,int R,int G,int B) | 255,51,153,255 | 取值为0-255之间(两位满十六进制) |
设置画笔透明度 | void Paint_ID.setAlpha(int A) | 100 | 取值为0-255之间 |
设置画笔宽度 | void Paint_ID.setStrokeWidth(int n) | 5 | |
设置文字大小 | void Paint_ID.setTextSize(int n) | 30 | |
是否开启抗锯齿 | void Paint_ID.setAntiAlias(bool aa) | true | 会消耗较大资源,绘制图形速度会变慢 |
是否使用图像抖动处理 | void Paint_ID.setDither(bool dither) | true | 让图片颜色更加平滑和饱满,图像更加清晰 |
是否取消位图的优化 | void Paint_ID.setFilterBitmap(bool filter) | true | 滤掉对图像的优化操作,缩短加载时间 |
MaskFilter类型 | MaskFilter Paint_ID.BlurMaskFilter(int a) | ||
设置MaskFilter | void Paint_ID.setMaskFilter(MaskFilter maskfilter) | true | 可以用不同的MaskFilter实现滤镜的效果,如滤化,立体等 |
- 画笔API
random.随机数
- random(a)或random(a,b),返回随机数a-b之间的随机数
function random(...)--使用(...)是因为需要多类型传参数
--获取时间戳,其实可有可无
math.randomseed(tonumber(string.reverse(os.clock()))*100000)
return math.random(...)
end--创建位图(宽度,高度,色彩模式RGB_565)
local bmp=Bitmap.createBitmap(W,H,Bitmap.Config.RGB_565)
local g=Canvas(bmp)--g为对象
local pen=Paint()
local w=W/24
local m=23
local x=1
local y=1
local rect={}
local _rect={}
local n=4
rect[1]=Rect(w,w,w,w)
_rect[1]={x=1,y=1}- 位图颜色模式
- Bitmap.Config ARGB_4444:每个像素占四,即A=4,R=4,G=4,B=4,那么一个像素点占4+4+4+4=16位
- Bitmap.Config ARGB_8888:每个像素占四位,即A=8,R=8,G=8,B=8,那么一个像素点占8+8+8+8=32位.
- Bitmap.Config RGB_565:每个像素占四位,即R=5,G=6,B=5,没有透明度,那么一个像素点占5+6+5=16位.
- Bitmap.Config ALPHA_8:每个像素占四位,只有透明度,没有颜色.
- 来于网络*
- 位图颜色模式