2012-08-10 5 views
1

SkinnableContainer 용 스킨이 있습니다.
스킨에는 원래 contentGroup 및 s : BitmapImage 만 들어 있습니다.
너비와 높이 내용에 따라 배경 이미지가 늘어납니다.
사용 된 이미지는 투명 영역이있는 .png입니다. BitmapData with Scale9Grid

나는이 알고리즘을 사용 hitarea를 만들려면 :
http://www.webverwirklichung.com/en/blog/programming/flex/creating-hitarea-png-image-transparent-alpha-regions-flex

모두의 작업 벌금을 내가 (피부의 이미지와 함께) SkinnableContainer 스트레칭 시작할 때까지.
이미지에 대해 scale9Grid가 있습니다.

이미지를 늘일 때 이미지의 bitmapData가 여전히 동일하고 (너비와 높이가 같음) 문제가 있습니다. 따라서 어떻게 든 scale9Grid 응용 프로그램에 대한 이미지의 bitmapData를 가져와야합니다.

구성 요소의 배경은 일부 투명 영역이있는 이미지입니다. 이미지의 보이는 부분을 클릭하는 것만 가능합니다. 이미지는 contentGroup의 내용에 따라 늘어납니다.

조언이 필요합니다.

답변

0

BitmapData.draw() 방법을 사용하는 것은 어떻습니까? 컨테이너의 크기가 조정되고, 9 슬라이스 스케일링을 적용 (또는 해당 트리거는 무엇이든) 한

후에 수행

var b:BitmapData = new BitmapData(container.width, container.height); 
b.draw(container); 

그런 다음 히트 영역을 생성하는 알고리즘을 사용하여 새로운 맵을 사용한다.