2011-01-18 4 views
0

다른 이미지와 결합 된 이미지를 동적으로 만들고 싶습니다.동적 이미지 만들기

다른 이미지는 미리로드 된 비트 맵 이미지 배열에서 임의로 선택됩니다. 어떻게 할 수 있습니까?

+0

표시 할 코드가 있습니까? – Neutralizer

답변

0

Drawable 배열을 사용하여 각 이미지를 래핑합니다. 각 draw 가능 인스턴스에서 onDraw 메서드를 재정 의하여 해당 이미지를 캔바스에 렌더링하는 방법을 지정합니다.

LayerDrawable 클래스를 사용하여 모든 드로어 블을 관리 할 수 ​​있습니다. 또한 편리한 방법을 제공합니다.

최종 이미지가 어떤 모양인지는 모르지만 한 이미지의 위치/크기가 다른 이미지의 크기/크기와 비슷하게 들릴 수 있습니다. 즉, 각 이미지에 실제 크기를 제공하기 전에 모든 이미지가 무엇인지 알아야합니다.

는 여기에 내가 무엇을 할 것이라고입니다 :

1)보기를 확장하는 마스터 클래스를 만들고, 정말 당신의 이미지입니다 드로어 블의 배열()를 보유하고 있으며 모든 이미지를 고려하여 적절한 좌표를 계산합니다.

2) 당신 비트 맵 드로어 블을 확장하는 드로어 블

3

) 클래스 (들 만들기를 받아들이는 생성자)를 지정합니다. 논리 크기/좌표가있는 필드와 실제 크기/좌표가있는 필드를 2 필드 씩 제공하십시오. 논리적 인 것들은 단순히 비트 맵의 ​​자연적인 비율을 읽었을 때 작성해야합니다. 물리적 인 것들은 나중에 채워질 것입니다. 이러한 클래스의 onDraw 메서드는 물리적 좌표의 값을 사용해야합니다.

4) 마스터 뷰 클래스에 모든 이미지의 논리적 크기를 고려한 큰 못생긴 수학 방법을 지정하십시오. 수학 방법은 화면 치수를 사용하여 각 이미지의 물리적 치수가 무엇인지 알아냅니다.

5) 각 Drawable의 물리적 속성을 수학 메서드의 resutls로 채 웁니다.

6) 마스터 뷰 클래스의 onDraw를 외부의 레이아웃에 추가하거나 이미 레이아웃에있는 경우 invalidate()를 호출하여 발생시킵니다.

희망 하시겠습니까?