返回顶部
首页 > 资讯 > 移动开发 >(小程序)canvas 绘制图片做背景(新手向)
  • 932
分享到

(小程序)canvas 绘制图片做背景(新手向)

小程序javascript前端 2023-10-10 22:10:12 932人浏览 独家记忆
摘要

小程序绘制图片为背景,首先我们需要把图片先下载下来(这里最好是封装一个函数,因为背景不可能只有一张的)下面是代码,一般直接复制就能使用,有可能需要微调 // 获取图片信息getImageInfo(image) { return new

小程序绘制图片为背景,首先我们需要把图片先下载下来(这里最好是封装一个函数,因为背景不可能只有一张的)下面是代码,一般直接复制就能使用,有可能需要微调

// 获取图片信息getImageInfo(image) {    return new Promise((req, rej) => {    uni.getImageInfo({     src: image,     success: function (res) {     req(res);    },   }); });},// 使用方法let headerPhtot = await this.getImageInfo(this.userInfo.avatarUrl);// 这里会返回一个对象 path是图片地址(返回一个本地文件 Http://开头)就可以在canvas ctx.drawImage使用let top = 0;let left = 0;let canvasW = 200;let canvasH = 200;ctx.drawImage(headerPhtot.path, left, top, canvasW, canvasH);//裁剪图片使用let shareBg = this.getAspectFillModelInfo(this.brickUrlData.width, this.brickUrlData.height, 68, 91, 613, 992);ctx.drawImage(this.brickUrlData.path, shareBg.dx, shareBg.dy, shareBg.dw, shareBg.dh, shareBg.sx, shareBg.sy, shareBg.sw, shareBg.sh); // drawImage(图片路径,x,y,绘制图像的宽度,绘制图像的高度)// 裁剪图片getAspectFillModelInfo(oWidth, oHeight, x, y, width, height) {  // 高比宽大 宽是短边  let aspect = oHeight / oWidth;  let sw = width;  let sh = aspect * sw;  let dx = 0;  let dy = (oHeight - height * (oHeight / sh)) / 2;  let dw = oWidth;  if (aspect < 1) {    // 高比宽小 高是短边    aspect = oWidth / oHeight;    let scale = aspect * height; // 宽度比例    sh = height;    sw = width; //11440    dw = (width / scale) * oWidth;    dy = 0;    dx = (oWidth - width * (oWidth / scale)) / 2;  }  return {    dx, // 可选。开始剪切的 x 坐标位置。    dy, // 可选。开始剪切的 y 坐标位置。    dw: dw, // 可选。被剪切图像的宽度。    dh: oHeight, //可选。被剪切图像的高度。    sx: x, // 在画布上放置图像的 x 坐标位置。    sy: y, // 在画布上放置图像的 y 坐标位置。    sw, // 可选。要使用的图像的宽度。(伸展或缩小图像)    sh, //可选。要使用的图像的高度。(伸展或缩小图像)  };},

来源地址:https://blog.csdn.net/weixin_49602763/article/details/130770139

--结束END--

本文标题: (小程序)canvas 绘制图片做背景(新手向)

本文链接: https://lsjlt.com/news/427749.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • (小程序)canvas 绘制图片做背景(新手向)
    小程序绘制图片为背景,首先我们需要把图片先下载下来(这里最好是封装一个函数,因为背景不可能只有一张的)下面是代码,一般直接复制就能使用,有可能需要微调 // 获取图片信息getImageInfo(image) { return new...
    99+
    2023-10-10
    小程序 javascript 前端
  • 小程序如何设置背景图片
    这篇文章给大家分享的是有关小程序如何设置背景图片的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言:一开始,打算在wxss文件中使用background-image:url()来设置背景图,但是却出现了报错了,提...
    99+
    2023-06-06
  • 微信小程序开发:设定背景图片
    文章目录 前言:一、原因与解决方法二、其他设置背景图片的方式1、获取网络图片2、将图片转换成base64格式3、使用image标签 前言: 今天在开发小程序的时候用到背景图片设定功能,...
    99+
    2023-09-14
    微信小程序 小程序 javascript
  • 微信小程序中怎么用Canvas绘制图形
    在微信小程序中使用Canvas绘制图形需要以下步骤: 在wxml文件中添加Canvas组件: <canvas canvas...
    99+
    2024-04-03
    微信小程序 Canvas
  • 微信小程序开发中如何使用canvas绘制坐标图
    这篇文章主要为大家展示了“微信小程序开发中如何使用canvas绘制坐标图”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“微信小程序开发中如何使用canvas绘制坐标图”这篇文章吧。线图functi...
    99+
    2023-06-26
  • 在微信小程序中如何使用canvas绘制天气折线图
    今天小编给大家分享一下在微信小程序中如何使用canvas绘制天气折线图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。折线效果...
    99+
    2023-06-29
  • 解决uni-app开发小程序时,CSS调用本地图片当背景时不能使用的问题
    uniapp官方给出的解释就是小程序不支持本地图片,只支持网络访问或者base64。 当背景图片小于40kb的时候还好,uniapp会自动转为base64格式;但是大于40kb时候就不行了,目前我了解的有三种方式解决: 可以通过动态样式...
    99+
    2023-09-06
    小程序 uni-app 微信小程序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作