0

, 나는이 이미지를 사용하고 있습니다 : 그것은 전체 아니에요 그래서 내가 안드로이드 스튜디오에서 벡터 자산으로 가져올 때, 그러나 https://pixabay.com/sv/plus-l%C3%A4gga-till-%C3%B6ka-ikon-knappen-1270001/Android Asset Studio에서 벡터 이미지를 자르는 이유는 무엇입니까? 내 응용 프로그램에서

을, 자산 Studio는 왼쪽과 오른쪽 가장자리에 인하 더 이상 원. 왜 이런 일이 발생합니까? 어떻게 해결할 수 있습니까? svg를 수정해야합니까, 아니면 Android Studio에서 일부 설정을 변경할 수 있습니까? 여기

<?xml version="1.0" encoding="UTF-8"?> 
<svg version="1.1" viewBox="0 0 35.876 35.876" xmlns="http://www.w3.org/2000/svg"> 
<g transform="translate(-1.5317 -1015.4)"> 
    <circle transform="matrix(-.5 -.86603 .86603 -.5 0 0)" cx="-904.64" cy="-499.82" r="16.205" fill="none" stroke="#ff5e00" stroke-width="3.4773"/> 
    <flowRoot fill="#000000" font-family="Sans" font-size="46.364px" letter-spacing="0px" word-spacing="0px" style="line-height:125%" xml:space="preserve"><flowRegion><rect x="-3.0977" y="-173.71" width="144.82" height="50.201"/></flowRegion><flowPara/></flowRoot> 
    <rect transform="rotate(90)" x="1032" y="-27.666" width="2.7808" height="16.392" rx=".20089" ry=".20089" fill="#ff5e00"/> 
</g> 
</svg> 

그리고 XML은 벡터 그리기의 모습입니다 : 여기

this가 SVG의 XML 코드처럼 나를 위해

, 그것은 보이는

<vector xmlns:android="http://schemas.android.com/apk/res/android" 
     android:width="35dp" 
     android:height="35dp" 
     android:viewportWidth="35.876" 
     android:viewportHeight="35.876"> 
    <path 
     android:pathData="M17.93,17.96m8.1,14.03a16.21,16.21 83.34,1 1,-16.2 -28.07a16.21,16.21 83.34,1 1,16.2 28.07" 
     android:strokeColor="#ff5e00" 
     android:fillColor="#00000000" 
     android:strokeWidth="3.4773"/> 
    <path 
     android:fillColor="#FF000000" 
     android:pathData="M-3.99,-1020.96h124.94v43.31h-124.94z"/> 
    <path 
     android:pathData="M16.75,9.8L19.13,9.8A0.2,0.2 0,0 1,19.33 10L19.33,25.99A0.2,0.2 0,0 1,19.13 26.19L16.75,26.19A0.2,0.2 0,0 1,16.55 25.99L16.55,10A0.2,0.2 0,0 1,16.75 9.8z" 
     android:fillColor="#ff5e00"/> 
    <path 
     android:pathData="M26.13,16.8L26.13,19.18A0.2,0.2 101.89,0 1,25.93 19.38L9.94,19.38A0.2,0.2 102.72,0 1,9.74 19.18L9.74,16.8A0.2,0.2 102.72,0 1,9.94 16.6L25.93,16.6A0.2,0.2 101.89,0 1,26.13 16.8z" 
     android:fillColor="#ff5e00"/> 
</vector> 
+0

SVG를 보지 않고서는 어떤 일이 일어나고 있는지 알기가 어려울 수 있습니다. 하지만 상업용 제품이기 때문에 게시 할 수 없다고 생각합니다. –

+0

"SVG보기"란 무엇을 의미합니까? XML 코드가 필요합니까? – Zerato

+0

예, 그것이 제가 의미했던 것입니다. –

답변

1

이것은 Android Studio SVG 가져 오기 기능의 버그로 인한 것 같습니다. SVG에있는 <circle> 요소를 적절하게 변환하지 않습니다.

아래 예를 확인하십시오. SVG의 원래 요소는 초록색입니다. Path 요소를 VectorDrawable에서 SVG 경로로 다시 변환하여 원래 SVG에 겹쳤습니다. 빨간색 (VectorDrawable)의 원 경로가 원래 SVG와 일치하지 않음을 알 수 있습니다.

<svg version="1.1" viewBox="0 0 35.876 35.876" xmlns="http://www.w3.org/2000/svg"> 
 
<g transform="translate(-1.5317 -1015.4)"> 
 
    <circle transform="matrix(-.5 -.86603 .86603 -.5 0 0)" cx="-904.64" cy="-499.82" r="16.205" fill="none" stroke="#00ff00" stroke-width="3.4773"/> 
 
    <rect transform="rotate(90)" x="1032" y="-27.666" width="2.7808" height="16.392" rx=".20089" ry=".20089" fill="#00ff00"/> 
 
</g> 
 
<g id="converted back from VectorDrawable"> 
 
    <path d="M17.93,17.96m8.1,14.03a16.21,16.21 83.34,1 1,-16.2 -28.07a16.21,16.21 83.34,1 1,16.2 28.07" 
 
     fill="none" stroke="red" stroke-width="3.4773" stroke-opacity="0.3"/> 
 
    <path d="M26.13,16.8L26.13,19.18A0.2,0.2 101.89,0 1,25.93 19.38L9.94,19.38A0.2,0.2 102.72,0 1,9.74 19.18L9.74,16.8A0.2,0.2 102.72,0 1,9.94 16.6L25.93,16.6A0.2,0.2 101.89,0 1,26.13 16.8z" 
 
     fill="red" fill-opacity="0.5"/> 
 
</g> 
 
</svg>

고장

은 아마도 원래의 SVG 아이콘이 messily 설계되었다는 사실에 의해 악화된다. 그것은 이상한 십진수와 이상한 변환이있는 좌표로 가득 차 있습니다.

SVG를 수정할 수는 있지만 같은 오류를 나타내는 아이콘이 여러 개 있다고 생각합니다.

대체 온라인 변환기 중 하나를 사용해 보라고 제안했습니다. 하지만 난 그냥 그들을 시도하고 둘 다 적절하게 SVG를 처리합니다. 아마도 다른 아이콘 세트를 시도하거나 Inkscape와 같은 벡터 편집기에서 이러한 아이콘 세트를 다시 만들려고 시도 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 처음에는 무료 SVG 온라인을 쉽게 얻을 수있을 것이라고 생각했지만, 이제는 내 자신의 디자인을 만들고이 변환기 중 하나를 사용하여 변환하는 것이 더 쉬울 수도 있습니다. Inkscape도 시도해 보겠습니다. – Zerato

+0

이 버그는 Android Studio 팀 (https://issuetracker.google.com/issues/68302831)에보고했습니다. –

0

Android Studio 버그가 있어야합니다. Android Studio 통합 SVG to XML 도구를 사용하면이 문제가 발생합니다.

this과 같은 다른 SVG-XML 변환 도구로 XML 파일을 가져 와서 XML로 붙여 넣을 수 있습니다. 작동해야합니다.

관련 문제