说说 Canvas 的缩放功能
发布日期:2021-06-29 21:05:14
浏览次数:2
分类:技术文章
本文共 1046 字,大约阅读时间需要 3 分钟。
使用 scale() 方法可以缩放当前绘图。语法:context.scale(scalewidth,scaleheight);
。
参数 | 描述 |
---|---|
scalewidth | 缩放当前绘图的宽度 (1=100%, 0.5=50%, 2=200%, 依次类推) |
scaleheight | 缩放当前绘图的高度 (1=100%, 0.5=50%, 2=200%, 依次类推) |
context.strokeRect(5,5,25,15);context.scale(2,2);context.strokeRect(5,5,25,15);context.scale(2,2);context.strokeRect(5,5,25,15);context.scale(2,2);context.strokeRect(5,5,25,15);
运行结果:
可以看出,Canvas 缩放的方式与旋转差不多。因为我们没有平移原点就对长方形进行缩放,所以 Canvas 仍然使用画布左上角来作为画布的原点,所以每次放大后的正方形都移动到了右下方。
如果需要从长方形的中心点进行缩放,就必须在缩放之前先将原点平移到长方形的中心。
translate() 方法可以重新指定画布上的原点 (0,0) 位置。语法:context.translate(x,y);
参数 | 描述 |
---|---|
x | 新原点的水平坐标(x) |
y | 新原点的垂直坐标(y) |
const width = 25;const height = 15;context.translate(100+.5*width,100+.5*height);context.strokeRect(5,5,width,height);context.translate(-5-.5*width,-5-.5*height);context.scale(2,2);context.strokeRect(5,5,width,height);context.translate(-5-.5*width,-5-.5*height);context.scale(2,2);context.strokeRect(5,5,width,height);context.translate(-5-.5*width,-5-.5*height);context.scale(2,2);context.strokeRect(5,5,width,height);
运行结果:
每次绘制时,都必须指定原点,否则都会从左上角作为默认原点。
转载地址:https://deniro.blog.csdn.net/article/details/108180001 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月13日 04时53分38秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
微服务学习一
2019-04-30
.Net Core 微服务学习一
2019-04-30
康威定律学习一
2019-04-30
微服务学习二
2019-04-30
微服务学习三
2019-04-30
c#判断字符串是否json
2019-04-30
微服务学习四--康威定律如何解释微服务的合理性
2019-04-30
微服务学习五--微服务或API网关
2019-04-30
微服务学习六--API网关
2019-04-30
微服务学习七--微服务的好处
2019-04-30
微服务学习八--什么时候用微服务架构
2019-04-30
微服务学习九
2019-04-30
RPC学习一--gRPC的协议
2019-04-30
http/2--http2.0
2019-04-30
SPDY
2019-04-30
云学习--用吃披萨解释
2019-04-30
OneDrive
2019-04-30
Serverless学习
2019-04-30
微服务学习十--
2019-04-30
RFC (一系列以编号排定的文件)
2019-04-30