336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
java.lang.IllegalStateException: Immutable bitmap passed to Canvas constructor
Bitmap bitmap = BitmapFactory.decodeFile(..);
Canvas canvas = new Canvas(bitmap);
canvas.save();
canvas.drawbitmap(...);
...
canvas.restore();
위 와 같은 형식에 소스에서 디버깅을 하면 회색 네모상자의 에러가 나옵니다.
BitmapFactory에서 불러온 이미지는 수정이 불가능 하다고 하네요.
크기나 뭐 옵션 같은 것은 줄 수 있겠지만요^^
그래서 똑같은 비트맵을 복사함으로써 해결이 됩니다.
Bitmap bitmap = BitmapFactory.decodeFile(..);
Bitmap copyBitmap = bitmap.copy(Bitmap.Config.ARGB_8888,true);
아니면 새로운 비트맵을 생성 해서 그 속에 이미지랑 다른 것들도 함께 넣어버리는 것이지요.
Bitmap paletBmp = Bitmap.createBitmap(imgWidth, imgHeight, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(paletBmp);
....
간단하죠??^^
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
[ Android ] 프레임 속도 조절. (0) | 2011.06.22 |
---|---|
[Android] 폴더명 관리 (0) | 2011.06.13 |
[Android NDK] NDK Hello 실행하기 (4) | 2011.05.11 |
[Android] Live Wallpaper 미리보기인지 아닌지 확인 (0) | 2011.05.04 |
[Android] 배경화면에 이미지를 표현할 때 참고사항 (0) | 2011.05.04 |