我尝试在IE 10上使图像灰度工作,经过一些搜索使用svg可以存档它,但现在我遇到另一个问题,这里是IE 10上的代码make image灰度工作
<svg xmlns="http://www.w3.org/2000/svg" id="svgroot" viewBox="0 0 400 377" width="400" height="377">
<defs>
<filter id="filtersPicture">
<feComposite result="inputTo_38" in="SourceGraphic" in2="SourceGraphic" operator="arithmetic" k1="0" k2="1" k3="0" k4="0" />
<feColorMatrix id="filter_38" type="saturate" values="0" data-filterid="38" />
</filter>
</defs>
<image filter="url("#filtersPicture")" x="0" y="0" width="400" height="377" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://thecybershadow.net/misc/stackoverflow.png" />
</svg>
问题是图像不按我给出的尺寸缩放,例如,如果图像尺寸为200 X 1000并且我给出尺寸200 X 500,它会将图像缩放到100 X 500
我试过preserveAspectRatio http://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute似乎不起作用
所以我的问题是如何使图像调整到我给出的大小?
提前致谢
答案 0 :(得分:4)
如果您希望图像拉伸以填充您指定的宽度和高度(水平和垂直),请使用preserveAspectRatio="none"
。
<image x="0" y="0" width="400" height="377" xlink:href="blah" preserveAspectRatio="none" />
答案 1 :(得分:1)
找不到绝对的解决方案,但这项工作符合我们的需求
使用preserveAspectRatio可以使图像几乎与我给出的尺寸相符,并且超出部分会被歪曲,所以我可以让图像的比例与我给出的尺寸相似,它会很好
<image preserveAspectRatio="xMidYMid slice" filter="url("#filtersPicture")" x="0" y="0" width="400" height="377" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://192.168.0.10:3000/uploads/photo/609/address/a219c3c5eb8fdce852a61385ae31bc7ee270fc73.jpg" />