jquery - 使用 jQuery 将转换附加到现有转换
问题描述
我有一个元素
<g class="annot" transform="translate(317,15)">...</g>
我使用
$('g.annot')
我想缩放它,例如
$('g.annot').css({'transform': 'scale(2)'})
但这会导致平移位置被重置。
如何应用比例并保留翻译
解决方案
只需将属性与下一个转换连接:
let g = $('g.annot');
g.attr('transform', `${g.attr('transform')} scale(2)`);
或使用svg api
let
g = $('g.annot').get(0),
root = g.ownerSVGElement,
mtr = root.createSVGMatrix(),
t = g.transform.baseVal
;
mtr.a = 2;
mtr.d = 2;
t.appendItem(root.createSVGTransformFromMatrix(mtr))
推荐阅读
- asp.net - 如何将 Web 表单 Response.redirect 与 Angular 6 路由一起使用?
- android - 同步删除表室
- c# - 如何将从 Unity 应用程序捕获的图像保存到 iOS 照片?
- linux - 将 .gz 文件解压缩到 /tmp 位置并在任务完成后删除未压缩的 .gz 文件
- http - (Andorid Instant)尝试通过http(s)请求获取json/xml内容
- git - 用于在远程服务器上运行更新脚本的 bitbucket 挂钩
- python - 在 Pandas 数据框中进行计算的多个条件
- macos - 在 Mac 上将 Mysql 工作台连接到 XAMPP:“连接失败”
- java - 跨行写在jtable中
- php - 如何使用 MySQL 数据库设置 PHP SESSION_ID