收藏
回答

小游戏canvas画不出图片

问题模块 框架类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小游戏 drawImage 微信iOS客户端 6.6.1 game

下面的代码在开发者工具和安卓手机上能画出个绿方块, 画不出图片, 在ios上方块和图片都画不出来

图片在 项目根目录/images 下  是有的,  在开发者工具里面network里是加载了图片的

console出来canvas是有的, ctx也有, img也加载上了


const canvas = wx.createCanvas()

    , ctx = canvas.getContext("2d")
, img = wx.createImage()

    , {screenWidth, screenHeight} = wx.getSystemInfoSync();


img.src = "images/background.png";
img.width = screenWidth;
img.height = screenHeight;


ctx.drawImage(img, 0, 0, screenWidth, screenHeight);


console.log(canvas, ctx, img);


ctx.fillStyle = "#00ff00";

ctx.fillRect(0, 0, 200, 200);



最后一次编辑于  2018-01-27  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

6 个回答

  • Retro Daddy
    Retro Daddy
    2018-01-28

    wx.createCanvas() 是不是在之前已经执行过了,如果是的话,这个canvas是离屏的。


    然后这里得到的 screenWidth, screenHeight 你输出一下看看是不是0或者NaN,


    你可以直接使用canvas的宽高。


    2018-01-28
    赞同
    回复
  • 何方
    何方
    2018-01-28

    整个项目除了图片目录和图片文件外就一个game.js和一个game.json, game.js里面就这么多代码, 没有其他任何代码, 可以确定就执行了一次wx.createCanvas()

    2018-01-28
    赞同
    回复
  • 北极星
    北极星
    2018-02-02

    我也碰到了同样的问题,请问楼主解决了吗?

    2018-02-02
    赞同
    回复
  • 何方
    何方
    2018-02-03

    新建完canvas以后延迟几百毫秒再画就能出来了, 不知道是wx.createCanvas()创建出来的canvas还没有初始化完成还是啥回事

    2018-02-03
    赞同
    回复
  • 北极星
    北极星
    2018-02-03

    谢谢

    2018-02-03
    赞同
    回复
  • 曹操
    曹操
    2018-04-20

    你要在onload回调函数里画

    2018-04-20
    赞同
    回复