在做微信小游戏的时候,需要在开放域绘制页面,而且不是固定大小的底,这就不得不,用九宫格绘制页面底了

1. 原理:

就不多说了

2. 代码

//代码可以复制到w3 这里去测试
//https://www.w3school.com.cn/tiy/t.asp?f=eg_html5_canvas_image    var canvas = document.getElementById("myCanvas");var ctx = canvas.getContext("2d");var img = document.getElementById("scream");var rect = {x:45,y:50,width:220,height:124,}var imgeSize = {width:300,height :227}var target ={x : 10,y:10,width:700,height:500}function draw(imageSize,rect, target){var sp13X = rect.x + rect.width;var sw34 = imageSize.width - sp13X;var sp31Y = rect.y + rect.height;var sh34 = imageSize.height - sp31Y;var dp13X = target.x+target.width - sw34var dp31Y = target.y+target.height - sh34var dp22X = target.x+ rect.xvar dp22Y = target.y+ rect.yvar dw23 = dp13X - dp22Xvar dh23 = dp31Y - dp22Y//角1ctx.drawImage(img, 0, 0, rect.x, rect.y, target.x, target.y, rect.x, rect.y);//角2ctx.drawImage(img, sp13X, 0, sw34, rect.y, dp13X, target.y, sw34, rect.y);//角3ctx.drawImage(img, 0, sp31Y, rect.x, sh34, target.x, dp31Y, rect.x, sh34);//角4ctx.drawImage(img, sp13X, sp31Y, sw34, sh34, dp13X, dp31Y, sw34, sh34);//中ctx.drawImage(img, rect.x, rect.y, rect.width, rect.height, dp22X, dp22Y, dw23, dh23);//中12ctx.drawImage(img, rect.x, 0, rect.width, rect.y, dp22X, target.y, dw23, rect.y);//中21ctx.drawImage(img, 0, rect.y, rect.x, rect.height, target.x, dp22Y, rect.x, dh23);//中23ctx.drawImage(img, sp13X, rect.y, sw34, rect.height, dp13X, dp22Y, sw34, dh23);//中32ctx.drawImage(img, rect.x, sp31Y, rect.width, sh34, dp22X, dp31Y, dw23, sh34);}draw(imgeSize,rect,target)

Canvas 画九宫格图片相关推荐

  1. android+canvas+图片,android 开发 View _12_ 用Canvas 绘制一张图片(博客中演示用Canvas画验证码图片)...

    packagenet.yt.yuncare.widgets;importandroid.graphics.Bitmap;importandroid.graphics.Canvas;importandr ...

  2. html canvas画背景图片,HTML5 canvas画布

    canvas用途 游戏 小游戏 图表 报表 如 Charts插件 炫酷效果 banner 模拟器.图形编辑器 等 兼容性 IE9以上和其他浏览器 canvas 标签 属性 width height 方 ...

  3. Canvas画POS机打印小票图片,打印机直接打印图片

    之前做了个pos机的项目,当时因为是给缅甸客户用的,界面用的是缅甸文,但是打印机不支持缅甸文,所以只能以打印图片的方式实现:所以利用canvas直接画小票图片,直接打印图片实现打印功能:下面是利用ca ...

  4. php 画low poly,用canvas 实现个图片三角化(LOW POLY)效果_javascript技巧

    之前无意中看到Ovilia 用threejs做了个LOW POLY,也就是图片平面三角化的效果,觉得很惊艳,然后就自己花了点时间尝试了一下. 我是没怎么用过threejs,所以就直接用canvas的2 ...

  5. java canvas 画图片_[Java教程][HTML5] Canvas绘制简单图片

    [Java教程][HTML5] Canvas绘制简单图片 0 2016-05-13 13:00:04 获取Image对象,new出来 定义Image对象的src属性,参数:图片路径 定义Image对象 ...

  6. 微信小程序中base64格式的小程序码通过canvas画出来无效

    使用场景 小程序中的文章详情页面有一个分享功能:用户点击分享按钮,生成一张分享图片(包括封面图,简介以及带有文章ID的小程序码),方便用户保存在本地. 问题说明 小程序码通过后台接口获取,格式如下:' ...

  7. 小程序之 保存canvas生成商品图片附加小程序二维码 分享到朋友圈

    小程序之 保存canvas生成商品图片附加小程序二维码 分享到朋友圈 一.概述 需要用到的生成二维码组件(可自行下载添加到小程序根目录utils里):https://github.com/demi52 ...

  8. app canvas渲染后图片黑色_H5 基于 canvas 实现电子签名并生成PDF文档

    (给前端大全加星标,提升前端技能) 转自:coyota666 https://juejin.cn/post/6901273585428463624 前言 电子签名通俗来说就是通过技术手段实现在电子文档 ...

  9. 用canvas实现九宫格切图之手把手教学(uniapp+ts)

    uniapp用canvas实现九宫格切图(typescript) 前言 上传图片 展示图片 画布 下载图片 最终效果 总结 前言 这几天工作比较轻松,所以就有时间发下呆,突然想起前段时间用了一个九宫格 ...

最新文章

  1. 超越技术分析_超越技术面试
  2. 从理论到实践,Top选手带你进入数据竞赛的大门
  3. 17岁少年买不到回国机票就攻击航司系统,获刑四年!自称因疫情严重和女朋友怀孕压力大...
  4. idel 智能提示_intellij idea设置代码自动提示快捷键的详细方法.
  5. 实体银行网点一定被消灭?银行如何平衡数字创新与线下体验?
  6. 声音定位研究中遇到的困难
  7. Matlab中gradient函数的使用方法
  8. 【算法】动图展示八大常用排序算法,一次看个够!
  9. (todo)数组名 有存储空间吗?
  10. LeetCode 188. 买卖股票的最佳时机 IV(动态规划)
  11. oracle 随机数重复吗,Oracle生成不重复随机数
  12. linux防火墙能阻止cc攻击吗,linux csf 防火墙 防止少量的ddos cc攻击很有效
  13. html 盒子写法,CSS盒子模型
  14. 【转】你有这么一个人么
  15. Linux基础-网络配置
  16. 文荣:7月24日阿里云上海峰会网络大神
  17. bypassuac提权
  18. 计算机在线拥有,电路在线计算器
  19. masm汇编语言linux命令,Windows10下利用DOSBOX和MASM32搭建汇编语言开发环境
  20. 毕业5年决定你的命运 --------值得所有不甘平庸的人看看

热门文章

  1. golang 微信支付介绍
  2. PromptBERT: Improving BERT Sentence Embeddings with Prompts
  3. 关于SBUF读两次的问题
  4. 关于SSD写放大问题
  5. python制作ico图标_python使用PythonMagic k将jpg图片转换成ico图片的方法
  6. 设定绘图区坐标轴及标题字体、字号的两种方法
  7. 项目国际化I18N多语言切换
  8. CD光盘和电报的编码
  9. 多元线性回归分析spss结果解读_SPSS经典线性回归分析之一——线性回归分析
  10. Objective-C简介