画面を満たしている好ましいsvg画像がトリミングされて表示されます。 SVGを使って作業しているときに、画像全体を、切り抜きなしで画面をうまく中心にしたいと思うかもしれません。以下のサンプルコードは、SVGファイルをロードし、SVGを中心に画面を埋めます。すべての要素はCSSやJavaScriptの変更が可能です。 これはウィンドウのサイズ変更にも反応します。 HTMLファイルへ
コピー以下、独自のSVGファイルのURLを追加し、
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Load SVG file - full screen</title>
</head>
<body style='padding:0px;font-family:arial'>
<div id=svgDiv style='width:100%;height:100%;overflow:hidden;position:absolute;top:0px;left:0px;'></div>
<script>
function loadSVG()
{
\t var SVGFile="...your SVG file..."
\t var loadXML = new XMLHttpRequest;
\t loadXML.onload = callback;
\t loadXML.open("GET", SVGFile, true);
\t loadXML.send();
\t function callback()
\t {
\t \t //---responseText---
\t \t svgDiv.innerHTML=loadXML.responseText
sizeFull()
\t }
}
//--onload, onresize----
function sizeFull()
{
\t var mySVG=document.getElementsByTagName("svg")[0]
\t var svgW=window.innerWidth
\t var svgH=window.innerHeight
var bb=mySVG.getBBox()
\t var bbx=bb.x
\t var bby=bb.y
\t var bbw=bb.width
\t var bbh=bb.height
mySVG.setAttribute("viewBox",bbx+" "+bby+" "+bbw+" "+bbh)
mySVG.setAttribute("width",svgW)
mySVG.setAttribute("height",svgH)
}
window.onresize=sizeFull
//document.addEventListener("onload",loadSVG(),false)
</script>
</body>
</html>
preserveAspectRatio = "xMidYMidスライスは、" あなたは私が考えて欲しいものです。 –
ご協力ありがとうございます!それは働くようになった。 – Philex