代码拉取完成,页面将自动刷新
使用zbuff创建后用write填充像素进行绘图出错
local x,y=48,10
local w,h=64,64
local img=zbuff.create(w*h*2)
for i=1,w*h,2 do
img:write(0xf8)
img:write(0x00)
end
lcd.draw(x,y,x+w-1,y+h-1,img)
绘制一个64*64的矩形
如果将上述代码中的local w,h=64,64改为local w,h=64,48
即将矩形大小改为64*48可以成功运行并绘制图形。
zbuff创建后需要检查一下是不是nil,如果是的话就说明内存不够申请
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
根据源码
https://gitee.com/openLuat/LuatOS/blob/master/components/lcd/luat_lib_lcd.c#L319-361
如果传入的第五个值是nil,那会直接返回0,没有任何效果
local w0,h0=160,80
lcd.draw(0,0,w0-1,h0-1,zbuff.create({w0,h0,16},0x1f00))
--draw image
local x,y=48,10
local w,h=64,48
local img=zbuff.create({w,h,16},0x0)
--需要判断img是否为nil,如果为nil,则表示创建失败(内存不够)如不能创建64*64大小。
for i=1,w*h,2 do
img:write(0xf8)
img:write(0x00)
end
lcd.draw(x,y,x+w-1,y+h-1,img)
从执行效果来看,是产生了效果的。
没有完整代码,无法看出你想证明什么
登录 后才可以发表评论