当前位置:首页 > 经验 >

怎么把图片缩小但图案不变(怎么把图片缩小成固定大小)

来源:原点资讯(www.yd166.com)时间:2022-10-31 16:59:16作者:YD166手机阅读>>

基础部分坐标系

画布坐标、屏幕坐标的概念

    • 屏幕坐标,绝对坐标,类似于css中的绝对定位
    • 画布坐标,类似于css中的相对定位,还要考虑缩放

几何变换:平移、缩放、旋转

    • 平移,位置移动,形状、相对位置不变
    • 缩放,位置(相对屏幕坐标)和大小都发生变化
    • 旋转,位置旋转,形状、相对位置不变

canvas 中的所有几何变换针对的不是绘制的图形,而是针对画布本身,也就是说,当移动、缩放、旋转画布之后,新的坐标系只对新的操作生效

怎么把图片缩小但图案不变,怎么把图片缩小成固定大小(1)

参考:

  • Canvas 几何变换 - Canvas 基础教程 - 简单教程,简单编程
    • Canvas 平移 translate() - Canvas 基础教程 - 简单教程,简单编程
    • Canvas 缩放 scale() - Canvas 基础教程 - 简单教程,简单编程
    • Canvas 旋转 rotate() - Canvas 基础教程 - 简单教程,简单编程
绘图步骤基础绘图三步法
  1. 获取canvas对象
  2. 获取上下文环境对象context
  3. 开始绘制图形。

示例代码

const canvas = document.getElementById("canvas"); const context = convas.getContext("2d"); context.fillRect(100, 100, 50, 50); 通用绘图步骤

  1. 保存画布(状态),context.save();
  2. 画布操作,context.transform(叠加) 或者 context.setTransform(不叠加)
  3. 设置样式,绘制图形
  4. 恢复画布(状态),context.restore();

怎么把图片缩小但图案不变,怎么把图片缩小成固定大小(2)

图形变换基本操作
  1. 清空画布,context.clearRect
  2. 保存状态,context.save
  3. 画布操作,doTransform
  4. getShapeList and forEach
  5. 恢复状态,context.restore
Canvas性能

Canvas的绘制和html的绘制是不一样的,html的绘制是增量的,当变化时,只会重新绘制变化的部分,没有变化的部分是不会重新绘制的,但是canvas不一样,每次都是全量绘制的,如果一个canvas里有很多图形,当改变一个图形时,需要重新绘制所有图形才可以(当然,可以用clearRect擦除部分区域,但一般很少这么用)。

了解canvas的绘制规则之后,就很容易发现性能问题,如果canvas上绘制了大量的图形(成千上万个),每次重绘就需要很长的时间,如果重绘的频率很高,那么就会有性能问题

怎么把图片缩小但图案不变,怎么把图片缩小成固定大小(3)

那么如何解决这个问题呢,目前有以下几种方案

  1. 使用图层
  2. 使用临时图层
  3. 使用webworker或wasm
  4. 使用webgl
使用图层

图层的概念来自于PS,每一个图层都是一个canvas,既然在一个canvas上绘制太多图形会有性能问题,那么就分几个图层,每次仅重新绘制其中一个图层,每个图层的图形都不会很多,那么即使重绘的频率很高,也不会有性能问题。图层的概念图如下:

怎么把图片缩小但图案不变,怎么把图片缩小成固定大小(4)

首页 123下一页

栏目热文

怎么把图片缩小到2mb(怎么将图片缩小至2m以内)

怎么把图片缩小到2mb(怎么将图片缩小至2m以内)

近期爆火的照片变漫画效果该如何制作?今天就来教大家一个方法,无需Photoshop和绘图工具即可一键生成漫画,让照片充满...

2022-10-31 16:31:21查看全文 >>

怎样把图片缩小到2m以内(怎样把图片缩小到2m以下)

怎样把图片缩小到2m以内(怎样把图片缩小到2m以下)

方法如下:1、首先,对要修改的图片,右击,弹出菜单栏选择【打开方式】-【画图】2、这时,可以看到画图工具,在最下方,有图...

2022-10-31 16:37:55查看全文 >>

怎样把图片压缩到方格(如何把图片压缩小一点)

怎样把图片压缩到方格(如何把图片压缩小一点)

  平时我们在使用Excel表格来录入一些特殊的数据时,比如产品的价格信息表,或者是人员的信息统计表时,我们往往需要在表...

2022-10-31 16:38:58查看全文 >>

二月廿七是什么星座(二月廿六是什么星座)

二月廿七是什么星座(二月廿六是什么星座)

10月9日深圳至江门高速铁路(简称“深江高铁”)正式开工建设建成通车后深圳与江门可实现1小时内通达深圳前海与广州南沙将实...

2022-10-31 16:21:24查看全文 >>

农历二月初七出生是什么星座(二月初七出生的星座)

农历二月初七出生是什么星座(二月初七出生的星座)

River淼淼,曾用名“靓小伟”,高级网络工程师,星座命理达人,自媒体作者。大家上午好,欢迎观看“每日运势”如果喜欢,欢...

2022-10-31 16:53:46查看全文 >>

如何把图片整体缩小(手机怎样缩小照片大小)

如何把图片整体缩小(手机怎样缩小照片大小)

日常工作中时常会遇到图片文件太大,无法正常传输或是上传的情况,这时便需要我们对图片进行压缩处理,且压缩后的图片也不会过多...

2022-10-31 16:19:15查看全文 >>

怎么把图片完整的缩小(怎样把图片缩小)

怎么把图片完整的缩小(怎样把图片缩小)

什么时候会在意一张图片的大小呢?做网页、PPT、发送邮件的时候,我们都希望图片越小越好、画质越高越好。图片太大怎么压缩呢...

2022-10-31 17:03:27查看全文 >>

怎么将图片缩小到100k以内(怎样将图片缩小为200k)

怎么将图片缩小到100k以内(怎样将图片缩小为200k)

一说到图片压缩大家都会想到PS软件或者是一些图片压缩软件将图片体积变小。但这些软件需要先下载下来使用,非常麻烦。如果需要...

2022-10-31 16:31:39查看全文 >>

怎么把图片边框四边变小(怎么将图片边缘弄成圆形边框)

怎么把图片边框四边变小(怎么将图片边缘弄成圆形边框)

在剪辑视频的时候,如何快速虚化多个视频的边框背景,将其画面四周变模糊呢?今天小编给大家分享一个新的剪辑技巧,下面一起来试...

2022-10-31 16:20:00查看全文 >>

怎么样把图片缩小了放在格子里(图片怎样按格子大小自动调整)

怎么样把图片缩小了放在格子里(图片怎样按格子大小自动调整)

有时在Excel里插入图片后,总是出现诸多问题,比如当你拉宽拉高行距时图片大小会变形,总是不能与单元格对齐之类,等等。今...

2022-10-31 16:56:44查看全文 >>

文档排行