마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

나인패치 원본 PNG 제작시 재료가 되는 PNG 파일의 해상도 기준은 어디다 두어야 할까요?

0 추천
지금 xxxhdpi 해상도에 맞게 픽셀을 조정한 파일로

나인패치 이미지를 만들고 싶은데요.

모든 해상도에 맞게 나인패치 효과를 얻으려면

이보다 낮은 단계로 픽셀을 잡아야할까요?

나인패치 제작시 별도의 PNG를 재료삼아 제작한다고 하던데

그원본이 되는 파일의 가로세로 길이는 어떤 기준에 따라야 하는지 궁금합니다.

xxxhdpi로 해두면 왠지 나인패치로 늘일때 타해상도 기기에서는 이상하게 보일지도 몰라서요.

res/drawable 에 저장해두면 되는 것 같은데 이 경우에 기준은 무엇인가요?
청색공책 (500 포인트) 님이 2020년 12월 6일 질문
벡터 이미지를 지원하기 때문에 요즘은 나인패치는 쓰지 않습니다.  벡터 이미지는 디바이스 덴시티와 관계없이 알아서 스케일 업/다운을 해줍니다. 안드로이드 스튜디오에서 리소스관리자에  플러스 아이콘 누르고 벡터 이미지 만들기 선택하시면 벡터 이미지를 만드실 수 있습니다.
앗! 그런 좋은 방법이 제공되는군요! 답변 감사드립니다.
그런데 200dp 이하의 그래픽에 쓰는게 좋다던데 이 이상되는 크기면 속도 저하가 심할까요? API 21 이상이어야 별도의 메소드 실행이나 서포트의 호출없이 된다던데 API 21 기기들의 사양이 어떻게 성능낼지 실장비가 없어서 모르네요. 버전으로 보면 5.0 기기들이던데 제 UI는 화면 상단에 꽤 큰 사진 이미지가 박혀있고 역시 그래픽으로 처리된 메뉴 세개가 있습니다. 화면 표시나 화면전환시 느릴까요?
어느 정도나 큰 이미지이고 어떤 이미지인지는 모르겠지만, 스케일링업을 해야 하는 것 같은데, 직접 해보기 전에는 뭐라 말씀드리지 못하겠네요. 하지만 나인패치를 이야기 하시는 걸로 봐서는  사각형 박스 형태에 이미지인 것 같은데, 벡터로 테스트 해보시고, 이미지 자체가 큰게 필요하시면 png 대신에 web-p 포맷을 체크해 보세요. png 너무 큰거를  그래도 로딩하시면 당연히 성능상의 문제가 생기거나 심한 경우는 앱이 크래쉬 되기도 하니까요. 굳이 나인패치 이미지를 쓰시지 마시고 이미지를 해상도별 폴더에 제공하는 옵션을 찾아보시구요. 나인패치가 아니어도 근접한 해상도의 이미지를 자동으로 스케일 업다운 해줄 겁니다.
그리고 인터넷 찾아보시면 원본 이미지를 제공하면 해상도별로 이미지를 생성해주는 사이트들이 많이 있습니다. 알아서 폴더별로 생성해 주니까 이미지가 해상도별로 어떻게 되는지 확인하실 수 있을 거예요.
스택오버플로우에도 관련 답이 있네요:
https://stackoverflow.com/questions/13024272/android-background-image-size-in-pixel-which-support-all-devices
Material design link: https://material.io/blog/device-metrics
친절한 답변 감사드립니다 ^^

1개의 답변

0 추천
nine-patch와 해상도 class는 따로 영향을 미치지 않습니다.

의도하는 해상도 class folder에 넣으면 됩니다.
디자이너정 (42,810 포인트) 님이 2020년 12월 8일 답변
...