2014-11-08 3 views
1

github에서 몇 가지 도구를보고 Lolipop에서 벡터 드로어 블을 사용하면 svg 파일을 사용할 수 있습니다. 내가 찾던 한 가지 중요한 이점은 svg 파일이 스트레칭되어 올바른 스케일링을 유지해야하므로 스트레칭 후에 선명하게 보입니다. 이제는 svg 파일을 사용하여 모든 이미지를 밀도로 필터링하는 대신 드로어 블 폴더에 보관할 수 있습니다. 이렇게하면 apk 파일이 더 작아 지므로 바람직합니다.Android SVG 그래픽 - 현재 PNG 파일을 svg 형식으로 변환하는 단점

질문 : 기본 안드로이드 프로젝트에서 현재 PNG 이미지를 가져 와서 예를 들어 vector magic과 같은 온라인 변환기 도구와 함께 svg 파일로 변환하고 싶지 않은 이유가 있습니까?

+0

몇 가지 SVG 가져 오기 라이브러리 중 하나를 선택할 수 있습니다. ** PNG 파일에 ** SVG **를 선호하는 ** 좋은 ** 이유가 있습니다. (벡터가 확장 가능하므로 다른 폴더에 반복 된 그래픽이 많이 필요하지 않음) –

+0

이전 버전의 장치에서 VectorDrawable을 사용할 수 있도록 ** 지원 라이브러리 ** 버전 (조만간)이있을 것으로 생각됩니다 , 너무. –

답변

2

이렇게하고 싶지 않은 이유가 몇 가지 있습니다.

먼저 벡터 드로어 블은 Android 5.0 이상에서만 지원됩니다. 롤리팝 이상 만 타겟팅하는 경우 문제가되지 않지만 이전 버전의 Android에는 여전히 PNG가 필요합니다.

둘째, 래스터를 벡터로 변환하면 대부분의 경우 결과가 좋지 않습니다. 대신 Illustrator와 같은 프로그램에서 원본 에셋을 벡터 이미지로 만들어야합니다. 그런 다음 SVG로 내보내 VectorDrawable 형식으로 변환하고 5.0 이전 버전의 장치에서 지원하려는 DPI 버킷에 대한 PNG로 내 보냅니다.

+0

** ** SVG 가져 오기 라이브러리 ** 중 하나를 선택할 수 있습니다. PNG 파일로 SVG를 선호하는 좋은 이유가 있습니다. (벡터가 확장 가능하므로 여러 폴더에 여러 개의 반복 그래픽이 필요 없음) –

+0

좋은 지적입니다. XML에서 Drawables를 참조 할 필요가없는 경우 5.0 이전 장치를 지원하고 SVG 만 사용하는 SVG 라이브러리를 사용할 수 있습니다. – alanv

+0

우리는 구형 장치에서도 VectorDrawable을 사용할 수 있도록 ** 지원 라이브러리 ** 버전을 곧 또는 나중에 추가 할 예정입니다. –