在html中调整SVG的大小?
因此,我有一个HTML格式的SVG文件,我听说这种格式的一个特点是,当你放大它时,它并没有得到所有的像素化 我知道使用jpeg或其他任何我可以将其存储为50 x 50图标,然后通过手动设置image_src标记中的高度和宽度,将其实际显示为(相当像素化的)100 x 100缩略图(或10 x 10) 但是,SVG文件似乎与对象/嵌入标记一起使用,更改这些标记的高度或宽度只会为图片分配更多空间在html中调整SVG的大小?,html,svg,Html,Svg,因此,我有一个HTML格式的SVG文件,我听说这种格式的一个特点是,当你放大它时,它并没有得到所有的像素化 我知道使用jpeg或其他任何我可以将其存储为50 x 50图标,然后通过手动设置image_src标记中的高度和宽度,将其实际显示为(相当像素化的)100 x 100缩略图(或10 x 10) 但是,SVG文件似乎与对象/嵌入标记一起使用,更改这些标记的高度或宽度只会为图片分配更多空间 是否有任何方法可以指定要显示的SVG图像比文件系统中实际存储的图像小或大?用文本编辑器打开.SVG文件(
是否有任何方法可以指定要显示的SVG图像比文件系统中实际存储的图像小或大?用文本编辑器打开
.SVG
文件(它只是XML),并在顶部查找类似的内容:
<svg ... width="50px" height="50px"...
试试这些:
设置缺少的视图框,并在svg标记中填写设置的高度和高度属性的高度和宽度值
然后,只需将高度和宽度设置为所需的百分比,即可缩放图片。祝你好运
使用preserveSpectratio=“X200Y200 meet
(例如200px)设置固定纵横比,但这不是必需的
e、 g
您可以通过在图像标记和大小图像标记中显示svg来调整其大小,即
<img width="200px" src="lion.svg"></img>
更改容器的宽度也会修复它,而不是更改源文件的宽度和高度
.SvgImage img{ width:80%; }
这解决了我重新调整svg大小的问题。您可以根据自己的要求给出任何百分比。下面是一个使用svg.getBox()获取边界的示例。
:
最后,您可以将数字插入svg,以正确设置viewbox。然后在父div上使用任何css,就完成了
// get all SVG objects in the DOM
var svgs = document.getElementsByTagName("svg");
var svg = svgs[0],
box = svg.getBBox(), // <- get the visual boundary required to view all children
viewBox = [box.x, box.y, box.width, box.height].join(" ");
// set viewable area based on value above
svg.setAttribute("viewBox", viewBox);
//获取DOM中的所有SVG对象
var svgs=document.getElementsByTagName(“svg”);
var svg=svgs[0],
box=svg.getBBox(),//
我有一个HTML格式的SVG文件[…]有没有办法指定您希望SVG图像显示得比文件系统中实际存储的图像小或大
SVG图形与其他创意作品一样,在大多数国家都受版权法保护。根据管辖权、作品许可证或您是否版权所有者,您可能无法在没有SVG的情况下修改SVG,信不信由你
但是法律是棘手的话题,有时你只是想把事情搞定。因此,你可以在HTML中使用img
标记和width
属性来修改图形本身,而不必修改工作
使用外部HTTP请求指定大小:
<img width="96" src="/path/to/image.svg">
使用以下命令指定标记中的大小:
SVG可以创建适合任何大小的图像:
<link rel="icon" sizes="any" href="data:image/svg+xml,%3Csvg%20viewBox='0%200%2046%2045'%20xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle%3EAfter%20Dark%3C/title%3E%3Cpath%20d='M.708%2045L23%20.416%2045.292%2045H.708zM35%2038L23%2019%2011%2038h24z'%20fill='%23000'/%3E%3C/svg%3E">
我发现最好向我的SVG添加viewBox
和preserveAspectRatio
属性。viewBox应该以0 0 w h
的形式描述SVG的全宽和全高:
<svg preserveAspectRatio="xMidYMid meet" viewBox="0 0 700 550"></svg>
使用以下代码:
<g transform="scale(0.1)">
...
</g>
...
是的,没错,但您还需要添加“viewBox”属性(例如,在您的50x50px示例中,viewBox=“0 50”),否则内容可能无法正确缩放(取决于容器尺寸).screah将自动为您执行此操作,.Hooray!这很有帮助!事实证明,我已经在文件中有了100%的内容,但视图框是关键!谢谢大家!如果其他人看不到,则“视图框”区分大小写。此外,如果剪切图像,前两个坐标是左上角,后两个坐标是coordinates是缩放前的宽度和高度。请注意…和…都会起作用。我认为使用dinates会导致标签的故障切换功能丢失(这可能与版本8及以下的IE用户有关)。老实说,这是最好的选择。这很有魅力。这样做以及添加width=“100%“
和height=“100%”
非常适合我。
<svg preserveAspectRatio="xMidYMid meet" viewBox="0 0 700 550"></svg>
<g transform="scale(0.1)">
...
</g>