나는 5000 픽셀 x 5000 픽셀의 이미지를 가지고있다. 이미지의 다른 부분을 창에 맞추기 위해 규칙적으로 위아래로 확대됩니다.FigPanZoom을 사용하여 이미지를 기준으로 포인트를 올바르게 작성하는 방법은 무엇입니까?
나는 (지도와 같은) 이미지의 다른 장소에 집중하고 내가 지정한 특정 축척으로 확대하는 기능을 만들고있다.
필자는이 기능에 포인트를 전달합니다 (예 : new Point (2000,2500)). 그러나 이는 이미지와 관련이 없기 때문에 항상 중단됩니다.
주어진 시간에 이미지의 주어진 스케일로 이미지에 상대적인 포인트를 만드는 방법은 무엇입니까?
추가 정보 : 이동 및 확대/축소 기능에 대해서는 여기 http://www.adobe.com/devnet/flex/samples/fig_panzoom.html 가이드를 사용하고 있습니다. 해결
: 내 함정의
하나는 내가 가능한 bitmapScaleFactor> 1을 사용되었다고 있던 것 엉망 스케일링을. 이것은 나의 사용을 위해 작동 한 마지막 기능이었다.
protected function testFocus(p:Point):void
{
var content:ContentRectangle = boardViewer._contentRectangle;
var panToPoint:PanToPointCommand = new PanToPointCommand(boardViewer, content);
var scale:Number = boardViewer.bitmapScaleFactor;
var location = new Point((p.x*scale)+content.x, (p.y*scale)+content.y);
var center = new Point(boardViewer.width/2, boardViewer.height/2);
//Move the point to the center
panToPoint.fromPoint = location;
panToPoint.toPoint = center;
panToPoint.execute();
}
나는이 기능을 사용하면 보내 포인트를 사용하는 방법을 이해 모르겠어요. 아마도 함수 뒤에있는 코드를 공유해야 할 것입니다. – JeffryHouser
그 일은 포인트를 취하고 이미지의 해당 지점에서 마우스 클릭을 시뮬레이션하는 것입니다. 내 질문에, 포인트의 좌표 (2000,5000)는 픽셀 x와 y를 이미지로 나타냅니다. 스테이지는 아닙니다. – buddyp450
DisplayObject 계층 구조를 정확하게 알지 못해서 가장 좋은 방법이 무엇인지 말할 수는 없지만 http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7dca.html#을 참조하십시오. 좌표 공간의 변환에 대해 말하는 WS5b3ccc516d4fbf351e63e3d118a9b90204-7dc5. 그것은 올바른 방향으로 당신을 가리킬 수도 있습니다. – martineno