2013-11-10 3 views
2

svg 태그의 높이와 너비를 변경하려고하면 바뀌지 만 변경된지도는 잘립니다. svg 너비 높이가 변경되지 않습니다.

이 샘플을 재생 한 후 SVG 파일

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 
<svg width="500pt" height="500pt" viewBox="0 0 500 500" version="1.1" xmlns="http://www.w3.org/2000/svg"> 
    <g transform="translate(528,270)" > 
     <g id="states" fill="green" width="500pt" height="500pt" > 
      <a id="s01"> 
       <path d="M158.95067408594068,46.88327098850149L185.03303599629845,44.0148159910488L189.74121811302572,59.50889743727097L196.59587401503094,82.27898337817625L199.08348,87.17077847298319L201.13017099189912,89.85649424407167L200.707578706067,91.7588142001174L202.6261541288344,92.6205139503571L200.33524838576966,95.29216920133321L200.7363444144292,97.59217497211156L199.80999341478454,100.8918397716738L202.09021078470892,106.20782432993735L201.64399529140977,111.17790897235179L204.03767592952832,115.96122130827978L196.3574723373462,117.09985438789514L163.47293491613115,121.08122011183377L163.22294648718562,123.55296427740802L167.13791879442175,126.6835133291724L166.871741037497,129.76735843938286L168.2485001228969,131.1400084527912L166.21795234496457,134.1137855808483L164.12121282499038,134.9547500732084L159.81791064191435,132.36796011584426L158.90469329765804,127.88713803963412L157.64560372254968,127.51168600895127L156.5390262005875,131.08669596034315L156.36678872306632,134.46030822963786L152.20800610122825,133.97284127048096L148.16895577705603,105.98121856614907L148.12136132417422,70.56398790998259L148.15893441899317,50.102043132249676L146.40831263672231,48.33943105796875Z" stroke="#FFFFFF" stroke-dasharray="1, 0" stroke-width="1.5"></path> 
       <text x="162.66165594858754" y="86.92631614090374" style="">AL</text> 
       <title></title> 
      </a> 
      <a id="s02"> 
+0

축소 하시겠습니까? 어쨌든 컨테이너의 크기를 변경해도 하위 노드에는 영향을주지 않습니다. 축척 변환을 적용해야합니다. – ZimTis

+0

ZimTis가 잘못되었습니다. 파일에는 viewBox 특성이 있으므로 폭 및 높이 특성을 변경하면 페이지의 이미지 크기가 변경됩니다. 당신이 겪고있는 문제가 정확히 무엇인지는 명확하지 않습니다. 이미지 나 피들링을 게시 할 수 있습니까? –

+0

Sry, 그것을 보지 못했습니다, 수정 주셔서 감사합니다. – ZimTis

답변

0

의 샘플입니다, 나는 일이 될 수 무엇을 생각을 가지고 생각합니다.

크기를 조정하려고 시도한 파일에 무엇을 했습니까? 너비와 높이를 변경 했습니까? 또는 viewBox 값을 변경 했습니까? 아니면 둘다?

게시 한 스 니펫에서 알라바마의 윤곽선이 그림의 오른쪽 가장자리에서 벗어납니다. 그 때문에 제 1 그룹의 변환이다 : 뷰 박스 (500x500)에 의해 정의 된 도면의 가장자리 떨어져서 528,270에 알라 원점을 이동

transform="translate(528,270)" 

.

너비와 높이를 변경하면 알라바마가 다시 페이지로 가져 오지 않습니다. Alabama가있는 페이지 부분을 포함하도록 viewBox를 변경해야합니다. 따라서, 예를 들어, 당신은 그것을 변경 :

viewBox="0 0 1000 500" 

알라바마 지금은 볼 수, 당신은 당신이 원하는대로에지도의 크기를 변경할 수 있습니다. 요약

Demo here

, viewBox (x 및 y 폭 높이) 페이지의 내용의 범위를 설명한다. widthheight은 렌더러에게 viewBox에 의해 설명 된 영역의 크기를 얼마나 크게할지 알려줍니다. 이 경우 1000x500 크기의 뷰 박스에있는 모든 콘텐츠는 너비와 높이 (500x500)로 정의 된 상자에 맞도록 크기가 조정됩니다. 실제로지도는이 값 (1000x500에서 500x250까지)에 맞게 축소됩니다.

+0

@bigBadboom ACtualy 폭 높이와 뷰 박스 매개 변수를 변경할 때 svg가 작아 져서 뷰 박스에 들어가야한다. 감사합니다 – user2975771

+0

내가보기 상자 내부의보기 상자 그래픽의 너비를 변경하면 크기가 바뀌지 않고 잘리지 않습니다. – user2975771

+0

이미지의 가장자리 바깥에있는 내용이 있으면'viewBox' 만 변경해야합니다) 귀하의 모든 콘텐츠보다 더 커집니다. viewBox x, y, 너비 및 높이를 콘텐츠에 가장 잘 맞도록 조정합니다. 모든 내용을 볼 수있게되면 ''너비와 높이로 재생하면 이미지가 원하는 크기가됩니다. –

관련 문제