Package com.naver.maps.map.overlay
Class OverlayImage
- java.lang.Object
-
- com.naver.maps.map.overlay.OverlayImage
-
@AnyThread public abstract class OverlayImage extends java.lang.Object
오버레이에서 사용하는 비트맵 이미지를 나타내는 불변 클래스. 이 클래스의 인스턴스는 직접 생성할 수 없고 팩토리 메서드를 이용해야 합니다. 리소스, 에셋, 비트맵, 뷰 등으로부터 인스턴스를 생성할 수 있습니다.
이 클래스는 비트맵을 다루므로 사용시 메모리 관리에 유의해야 합니다다.OverlayImage
객체 자체는fromBitmap(Bitmap)
이나fromView(View)
로부터 생성되지 않은 한 비트맵 객체를 가지고 있지 않으며, 오직 비트맵을 로딩하는 방법만을 제공합니다. 따라서 객체 생성 자체는 가볍고 메모리도 적게 소모됩니다. 대신 이 객체를 사용하는 오버레이가 화면에 나타날 때getBitmap(Context)
이 호출되어 비트맵이 생성되고 메모리가 소모되는데, 여러 오버레이가 동일한OverlayImage
객체를 참조할 경우 비트맵이 공유되어 메모리가 효율적으로 사용됩니다.
따라서 여러 오버레이에 같은 이미지를 사용할 경우 인스턴스를 하나만 만들어 공유해야 합니다. 단,fromResource(int)
나fromAsset(String)
으로부터 객체를 만들었다면, 객체가 나타내는 리소스와 에셋이 동일할 경우 인스턴스가 다르더라도 동일한 비트맵이 공유됩니다.
-
-
Field Summary
Fields Modifier and Type Field Description java.lang.String
id
식별자.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
static OverlayImage
fromAsset(java.lang.String assetName)
앱의 asset에 존재하는 이미지 파일로부터OverlayImage
객체를 생성합니다.static OverlayImage
fromBitmap(android.graphics.Bitmap bitmap)
Bitmap
으로부터OverlayImage
객체를 생성합니다.static OverlayImage
fromFile(java.io.File file)
이미지 파일로부터OverlayImage
객체를 생성합니다.static OverlayImage
fromPath(java.lang.String absolutePath)
absolutePath
에 위치한 이미지 파일로부터OverlayImage
객체를 생성합니다.static OverlayImage
fromPrivateFile(java.lang.String fileName)
Context.openFileInput(String)
으로 접근 가능한 이미지 파일로부터OverlayImage
객체를 생성합니다.static OverlayImage
fromResource(int resourceId)
드로어블 리소스로부터OverlayImage
객체를 생성합니다.static OverlayImage
fromView(android.view.View view)
View
로부터OverlayImage
객체를 생성합니다.abstract android.graphics.Bitmap
getBitmap(android.content.Context context)
이미지에 대한Bitmap
을 반환합니다.int
getIntrinsicHeight(android.content.Context context)
이미지의 높이를 반환합니다.int
getIntrinsicWidth(android.content.Context context)
이미지의 너비를 반환합니다.int
hashCode()
java.lang.String
toString()
-
-
-
Method Detail
-
fromView
@NonNull public static OverlayImage fromView(@NonNull android.view.View view)
View
로부터OverlayImage
객체를 생성합니다.- Parameters:
view
- 비트맵을 생성할 뷰 객체.- Returns:
view
에 대한OverlayImage
객체.
-
fromBitmap
@NonNull public static OverlayImage fromBitmap(@NonNull android.graphics.Bitmap bitmap)
- Parameters:
bitmap
- 오버레이에 사용할 비트맵 객체.- Returns:
bitmap
에 대한OverlayImage
객체.
-
fromResource
@NonNull public static OverlayImage fromResource(@DrawableRes int resourceId)
드로어블 리소스로부터OverlayImage
객체를 생성합니다.- Parameters:
resourceId
- 드로러블 리소스의 ID.- Returns:
resourceId
에 대한OverlayImage
객체.
-
fromAsset
@NonNull public static OverlayImage fromAsset(@NonNull java.lang.String assetName)
앱의 asset에 존재하는 이미지 파일로부터OverlayImage
객체를 생성합니다.- Parameters:
assetName
- 이미지 파일의 이름.- Returns:
resourceId
에 대한OverlayImage
객체.
-
fromPrivateFile
@NonNull public static OverlayImage fromPrivateFile(@NonNull java.lang.String fileName)
Context.openFileInput(String)
으로 접근 가능한 이미지 파일로부터OverlayImage
객체를 생성합니다.- Parameters:
fileName
- 이미지 파일의 이름.- Returns:
fileName
에 대한OverlayImage
객체.
-
fromPath
@NonNull public static OverlayImage fromPath(@NonNull java.lang.String absolutePath)
absolutePath
에 위치한 이미지 파일로부터OverlayImage
객체를 생성합니다.- Parameters:
absolutePath
- 이미지 파일에 대한 경로.- Returns:
absolutePath
에 대한OverlayImage
객체.
-
fromFile
@NonNull public static OverlayImage fromFile(@NonNull java.io.File file)
이미지 파일로부터OverlayImage
객체를 생성합니다.- Parameters:
file
- 이미지 파일.- Returns:
file
에 대한OverlayImage
객체.
-
getBitmap
@Nullable public abstract android.graphics.Bitmap getBitmap(@NonNull android.content.Context context)
이미지에 대한Bitmap
을 반환합니다. 만약 필요한 경우 이 메서드가 호출될 때 비트맵이 생성됩니다.- Parameters:
context
-Context
객체.- Returns:
Bitmap
객체.
-
getIntrinsicWidth
@Px public int getIntrinsicWidth(@NonNull android.content.Context context)
이미지의 너비를 반환합니다. 비트맵을 디코딩하기 전에는 너비를 알 수 없는 경우에는0
이 반환됩니다.- Parameters:
context
-Context
객체.- Returns:
- 비트맵의 너비. 픽셀 단위. 너비를 알 수 없는 경우
0
.
-
getIntrinsicHeight
@Px public int getIntrinsicHeight(@NonNull android.content.Context context)
이미지의 높이를 반환합니다. 비트맵을 디코딩하기 전에는 높이를 알 수 없는 경우에는0
이 반환됩니다.- Parameters:
context
-Context
객체.- Returns:
- 비트맵의 높이. 픽셀 단위. 높이를 알 수 없는 경우
0
.
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
@NonNull public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-