0
리소스에서 Drawable
으로 표시되는 ImageView
의 내용에 일부 추가하려고합니다. 모든 Drawable
은 기본적으로 불변이지만, mutable()
메서드를 호출하고 에서 Bitmap
을 얻은 후에도 Canvas
개체로 전달하면 java.lang.IllegalStateException: Immutable bitmap passed to Canvas constructor
이됩니다.리소스에서 비트 맵 수정
Drawable homeImage = mHomeImage.getBackground(); // my ImageView
homeImage.mutate();
Canvas c = new Canvas(((BitmapDrawable)homeImage).getBitmap());
이 사본의 작성하지 않고이 Bitmap
을 수정할 수있는 방법이 있나요 : 다음 코드는?
감사의 답변을 드리지만, 내가보기에 :이 복사본을 만들지 않고이 비트 맵을 수정할 수있는 방법이 있습니까 **? – teoREtik
내가 일찍 UR 질문을 보았다. 난 그냥 질문에 코드가 작동하지 않습니다 위의 코드를 넣어. 그리고 난 당신이 그것의 복사본을 만들지 않고 비트 맵을 수정할 수 있다고 생각하지 않습니다. 이미지 뷰 위에 뭔가를 그리려는 경우. 새로운 비트 맵을 생성하고 새로운 것을 새로운 비트 맵에 그려 넣은 다음 framelayout을 사용하여 서로의 위에 뷰를 겹쳐 쌓으십시오. 단일보기로 나타납니다. – blessenm
아니, 내 목표는 3 초마다 네트워크 속도를 듣고 이미지 상단에 와이파이 신호의 상태를 그리는 것입니다. 그리고 비트 맵을 복사하는 경우 메모리 소비가 두려워요.하지만 걱정하지 마세요. 응답 해 주셔서 감사합니다. – teoREtik