Android
[Android] 화면을 비트맵 객체에 그리기
haehyun
2022. 3. 4. 19:33
728x90
화면을 비트맵 객체에 그리기
이미지 뷰가 출력하는 이미지를 Bitmap 타입으로 가져온다.
fun getBitmapFromView(view: View): Bitmap? {
var bitmap = Bitmap.createBitmap(view.width, view.height, Bitmap.Config.ARGB_8888)
var canvas = Canvas(bitmap)
view.draw(canvas)
return bitmap
}
반환값 | 함수 | 설명 |
Bitmap | Bitmap.createBitmap(int width, int height, Bitmap.Config config) | 지정된 너비, 높이의 변경 가능한 Bitmap을 반환한다. |
Canvas | Canvas(Bitmap bitmap) | 그릴 비트맵을 사용해서 캔버스를 생성한다. |
void | draw(Canvas canvas) | 주어진 Canvas에 해당 View(하위 View 포함)를 모두 수동으로 렌더링한다. *canvas : View가 렌더링되는 Canvas 객체. |
BitmapConfig
Enum Values | 설명 |
ALPHA_8 | 각 픽셀은 단일 투명(ALPHA) 채널로 저장한다. |
ARGB_8888 | 각 픽셀은 4바이트에 저장된다. (기존의 ARGB_4444 향상 버전) |
HARDWARE | 비트맵이 그래픽 메모리에만 저장되는 경우의 특수 설정. |
RGBA_F16 | 각 픽셀은 8바이트에 저장된다. |
RGB_565 | 각 픽셀은 2바이트에 저장되며 RGB 채널만 인코딩한다. |
[참고자료]
- Canvas, https://developer.android.com/reference/android/graphics/Canvas
- Canvas and Drawables, https://developer.android.com/reference/android/graphics/Canvas
- View, https://developer.android.com/reference/android/view/View#draw(android.graphics.Canvas)
- Bitmap.Config, https://developer.android.com/reference/android/graphics/Bitmap.Config
728x90