2013-05-13 3 views
3

제 질문은 제목과 같습니다 : 왜 9 패치 이미지가 필요한가요? 그들은 정말 중요한가요? 실제로, 그들은 정말로 무엇을합니까? 나는 9 패치 이미지의 개념을 명확하게 이해하지 못한다.왜 9 패치가 필요한가요?

9 패치 이미지는 확장 가능합니다. 그래서 내 ldpi 장치에 완벽하게 맞는 이미지 버튼이 있다고 가정 해 봅시다. Draw 9-patch tool (android SDK의 일부)을 사용하면 확장 가능 영역을 표시 할 수 있으며이 이미지는 hdpi 및 xhdpi 장치에도 잘 맞을 것입니다. 가장자리가 부드럽고 매끄 럽습니다.

하지만이게 정말 좋은가? 아니면 그냥 대안인가? ldpi, mdpi, hdpi 및 xhdpi 장치에 대한 모든 이미지를 만들어야합니까? 아니면 한 이미지에 Android SDK "Draw 9-patch"를 사용하고 Android에서 다양한 장치를 처리하도록 할 수 있습니까?

나는 가장자리에 대한 내용이 아니라 사진의 실제 내용을 잘 알고 있습니다. 콘텐츠가 확장 가능합니까?

+3

이 문서를 읽으십시오. http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch –

+0

이미지의 정확한 치수는 사용하게됩니다. Android는 다양한 크기로 지원하기 위해 화면 밀도 즉 온라인 이미지 변환을 제공합니다. http://android-ui-utils.googlecode.com/hg/asset-studio/dist/nine-patches.html 희망 사항이 도움이 되길 바랍니다. – Shadow

답변

5

콘텐츠는 확장 가능하며 가장자리는 일반적인 용도로 조정되지 않습니다.

일반적으로의 크기를 조정하지 않고 크기 조정 콘텐츠를 무한대로 조정할 수있는 배경이나 버튼 장식에 사용됩니다.

또한 적절하게 밀도 종속 리소스에으로 사용되므로 리소스 섹션 (명시 적으로 상태를 조정할 수 없음)이 업 스케일되지 않고 이후에 픽셀 화되지 않습니다.

Android에서 킨들 앱의 스플래시 화면을 고려해보세요.이 소년의 실루엣은 나무를 상대로 읽을 수 있습니다. 단순화 된 버전에서는지면을 무한대로 수평 확장 할 수 있지만 소년이 크기를 조정하면 비뚤어진 것처럼 보입니다. 따라서 9 패치를 사용하여 크기를 조절할 수있는 섹션과 방향을 지정할 수 있습니다.

충분하지 않습니다. 낮은 해상도의 리소스 만 포함하는 경우 장치 디스플레이의 밀도가 높으면 초기에 리소스가 확장됩니다. 이 경우 소년은 업 스케일링에서 흐리게 보일 수 있으며 고해상도 자원이 픽셀 화를 방지하는 데 도움이되었을 때의 예입니다.

질문을 표현한 방식에 따라 9 패치 이미지가 대답이없는 아이콘이나 자원과 같은 모든 드로어 블 리소스를 대체 할 수 있는지 묻는 중입니다. 단일 색상 블록 (픽셀화할 수없는 섹션)을 특징으로하는 자원 섹션을 확장하는 데에만 사용됩니다.

- 당신이 원래 크기를 유지하기 위해 확장 할 수있는 이미지와 다른 부분의 일부를 할 때 안드로이드 9 패치에서

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch

0

사용됩니다. 첫 번째 응용 프로그램은 당신이 말한 것처럼 모퉁이입니다. 그런 경우에 사용하십시오. 당신이 당신의 자원 당신은 대체 자원을 사용해야합니다 (흔들림없이) 좋은 품질에 표시하려면 다른 한편으로

(hdpi에, LDPI를 ..)

은 여기를보세요 : Screen Support

1

논리를 9 패치 뒤에서는 모서리의 크기를 조정하지 않는다는 것입니다.

0

9 개 패치 이미지는 확장 가능하지만 일부 영역에서만 확장 가능합니다. 가장 간단한 예는 9 부분으로 나뉜 상자입니다. 모서리는 크기가 조정되지 않습니다. 테두리는 중간에있는 내용에 따라 한 방향으로 확장됩니다.

개념이 다른 언어로 존재합니다. iOS, CSS3, W3C 상자 모델은 그러한 예입니다. 그러나 9 패치 이미지는 사용하기 쉽고 유연합니다.

  1. 다른 언어 대신 여러 영역을 확장 할 수 있습니다.
  2. 확장 가능 영역은 이미지에 정의되며 코드에는 정의되지 않습니다.