小程序canvas画出来的图片为什么显示不全?

发布于 2022-09-13 00:23:10 字数 620 浏览 19 评论 0

是按设计稿设置的宽高 但是画图出来后明显对不上 这是怎么回事?

<view class="index">
  <canvas style="width:660rpx;height:1186rpx" canvas-id="canvas">
  </canvas>
</view>
const app = getApp()

Page({
  data:{
  },
  onLoad: function () {
    let bg = wx.getStorageSync('bg')
    const ctx = wx.createCanvasContext('canvas'); 
    let width = 660;
    let height = 1186;
    ctx.drawImage(bg, 0, 0, width, height);
    ctx.draw();
  },
})

实际效果

应该是这样的才对

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

七秒鱼° 2022-09-20 00:23:10

画图时的高度是canvas高度的1/2就对了

let width = 330;
let height = 593;
ctx.drawImage(bg, 0, 0, width, height);
夜血缘 2022-09-20 00:23:10

因为你给的样式的单位是rpx

改成这样应该就行了

const app = getApp()

Page({
  data:{
  },
  onLoad: function () {
    let bg = wx.getStorageSync('bg')
    const ctx = wx.createCanvasContext('canvas'); 
    // 获取canvas上下文
    const canvas = ...
    ctx.drawImage(bg, 0, 0, canvas.width, canvas.height);
    ctx.draw();
  },
})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文