js绘制svg图时使用图片作为其中元素,图片的尺寸处理

本文详细解释了HTML5SVG中`preserveAspectRatio`属性的作用,特别是在设置图像与SVG图的关系时,如`xMidYMidmeet`,它决定如何保持图片的宽高比,以及在不同情况下图片的缩放和压缩行为。
摘要由CSDN通过智能技术生成

const image = document.createElementNS("http://www.w3.org/2000/svg", "image");

        image.setAttributeNS("http://www.w3.org/1999/xlink", "href", iamge1);

        image.setAttribute("width", "100%");

        image.setAttribute("height", "100%");

image.setAttribute("preserveAspectRatio", "xMinYMin slice");

其中,preserveAspectRatio 属性用于指定图片在SVG图中如何保持宽高比。它的值可以是以下几种:

  • "none": 不保持宽高比,图片会按照原始大小进行缩放和定位。
  • "xMinYMin meet": 图片的左上角与SVG图的左上角对齐,并保持宽高比。
  • "xMidYMid meet": 图片的中心点与SVG图的中心点对齐,并保持宽高比。
  • "xMaxYMax meet": 图片的右下角与SVG图的右下角对齐,并保持宽高比。
  • "xMinYMin slice": 图片的左上角与SVG图的左上角对齐,并保持宽高比。如果图片宽度大于高度,则图片会被拉伸;如果图片高度大于宽度,则图片会被压缩。
  • "xMidYMid slice": 图片的中心点与SVG图的中心点对齐,并保持宽高比。如果图片宽度大于高度,则图片会被拉伸;如果图片高度大于宽度,则图片会被压缩。
  • "xMaxYMax slice": 图片的右下角与SVG图的右下角对齐,并保持宽高比。如果图片宽度大于高度,则图片会被拉伸;如果图片高度大于宽度,则图片会被压缩。

在本例中,"xMidYMid slice" 表示将图片的中心点与SVG图的中心点对齐,并保持宽高比。如果图片宽度大于高度,则图片会被拉伸;如果图片高度大于宽度,则图片会被压缩。

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值