이미지 다루기
이미지 다루기
다음은 안드로이드가 지원하는 이미지 형식들이다.
| 이미지 형식 | 필수 확장자 | 설명 |
| PNG (Portable Network Graphics) | .png | 권장됨. (무손실) |
| 아홉 조각 확장성 이미지 (9-Patch Stretchable Image) |
.9.png | 권장됨. (무손실) |
| JPG (Joint Photographic Experts Group) | .jpg, .jpeg | 권장되지는 않음. (유손실) |
| GIF (Graphics Interchange Format) | .gif | 사용하지 않는 것이 좋음. |
아홉 조각 확장성 이미지(9-Patch Stretchable Image)는 PNG에 기초한 안드로이드 고유의 비트맵 이미지 형식이다.
전화기 화면 크기는 기기에 따라 다양하다. 만일 화면 크기나 방향마다 개별적인 이미지를 사용해야 한다면
그래픽 디자이너가 많은 시간을 낭비해야 할 것이다. 따라서, 만들어 둔 하나의 이미지 파일이 화면 크기나 방향
에 맞게, 또는 텍스트 길이에 맞게 자동으로 확대/축소된다면 아주 편리할 것이다. 안드로이드에서 이런 용도로
사용되는 것이 아홉 조각 확장성 이미지이다. 안드로이드 SDK에는 PNG 파일을 이 형식의 파일로 변환해 주는
draw9patch라는 도구를 지원한다. (안드로이드 SDK의 tools 폴더에 있다.)
이미지 리소스를 프로젝트에 추가하려면, 이미지 파일을 /res/drawable/ 폴더에 추가하기만 하면 빌드 시 자동으로
컴파일되어서 응용 프로그램에 포함된다.
다음은 /res/drawable/test.png 이미지 파일을 ImageView 위젯에 이미지를 표시하는 예이다.
< /res/layout/main.xml >
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView
android:id="@+id/ImageView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
import android.widget.ImageView
...
ImageView myImageView = (ImageView) findViewById(R.id.ImageView01);
myImageView.setImageResource(R.drawable.test);
다음은 비트맵 이미지 리소스에 해당하는 BitmapDrawable 객체를 직접 다루는 예이다.
import android.graphics.drawable.BitmapDrawable;
...
BitmapDrawable myImage = (BitmapDrawable) getResources().getDrawable(R.drawable.test);
int iBitmapHeightInPixels = myImage.getIntrinsicHeight();
int iBitmapWidthInPixels = myImage.getIntrinsicWidth();
'Resource' 카테고리의 다른 글
| XML 파일 다루기 (0) | 2022.10.02 |
|---|---|
| 메뉴 다루기 (0) | 2022.10.02 |
| 코드에서 리소스 사용하기 (0) | 2022.10.02 |
| 단순 표시물 (Drawable) (0) | 2022.10.02 |
| 크기 (Dimension) (0) | 2022.10.02 |
댓글