안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
요즘 이곳에서 엄청 도움을 받고있는 초보 개발자입니다.
어서 저도 다른분들께 도움을 드려야하는데;; 이렇게 질문만 올리고 있네요..
리소스를 절약하기 위해서 png 이미지를 좌우 또는 상하 반으로 잘라 (현재 2D 게임 개발중입니다.)
반전 시켜서 하나의 이미지로 보이도록 사용하고 싶은데요
아무리 찾아봐도 관련 내용을 찾을수가 없네요..
캔버스 회전시키는 api로 해보려고 하니 그냥 회전만 되고 반전은 안되는것 같았습니다.
matrix쪽으로 찾아봐도 반전 관련 내용은 제가 못찾는건지 알수가 없네요..
1. 혹시 이미지 반전(좌우 또는 상하)이 가능한 api가 있다거나 구현이 가능할까요??
2. 이미지 정렬(좌,우, 중앙정렬)은 임의로 이미지 사이즈를 얻어와서 직접 계산, 구현해주는 방법외에는 없는건가요?
항상 도움 감사드립니다~~
요즘 이곳에서 엄청 도움을 받고있는 초보 개발자입니다.
어서 저도 다른분들께 도움을 드려야하는데;; 이렇게 질문만 올리고 있네요..
리소스를 절약하기 위해서 png 이미지를 좌우 또는 상하 반으로 잘라 (현재 2D 게임 개발중입니다.)
반전 시켜서 하나의 이미지로 보이도록 사용하고 싶은데요
아무리 찾아봐도 관련 내용을 찾을수가 없네요..
캔버스 회전시키는 api로 해보려고 하니 그냥 회전만 되고 반전은 안되는것 같았습니다.
matrix쪽으로 찾아봐도 반전 관련 내용은 제가 못찾는건지 알수가 없네요..
1. 혹시 이미지 반전(좌우 또는 상하)이 가능한 api가 있다거나 구현이 가능할까요??
2. 이미지 정렬(좌,우, 중앙정렬)은 임의로 이미지 사이즈를 얻어와서 직접 계산, 구현해주는 방법외에는 없는건가요?
항상 도움 감사드립니다~~
2009.11.06 12:00:15
답변 감사드립니다.
이미지 반전은 알려주신 내용으로 해결하였습니다. ^^
== 구현 소스 입니다.
//이미지 flip(좌우 상하 반전)
//스케일된 이미지나 알파블렌딩 적용된 이미지도 사용 가능
test1 = BitmapFactory.decodeResource(res, R.drawable.img_test);
Matrix matrix = new Matrix();
matrix.preScale(-1.0f, 1.0f); // 좌우 반전 (1.0f, -1.0f)일경우 상하반전
test2 = Bitmap.createBitmap(test1, 0, 0, test1.getWidth(),test1.getHeight(), matrix, false);
canvas.drawBitmap(test2, 0, 0, null);
이미지 반전은 알려주신 내용으로 해결하였습니다. ^^
== 구현 소스 입니다.
//이미지 flip(좌우 상하 반전)
//스케일된 이미지나 알파블렌딩 적용된 이미지도 사용 가능
test1 = BitmapFactory.decodeResource(res, R.drawable.img_test);
Matrix matrix = new Matrix();
matrix.preScale(-1.0f, 1.0f); // 좌우 반전 (1.0f, -1.0f)일경우 상하반전
test2 = Bitmap.createBitmap(test1, 0, 0, test1.getWidth(),test1.getHeight(), matrix, false);
canvas.drawBitmap(test2, 0, 0, null);