2010-02-28 3 views
0

종이에 텍스트 개체를 추가 할 때 기본적으로 Raphael javascript 라이브러리는 y 지점 주위에 텍스트를 가운데에 배치합니다. 그것은 기본적으로 높이를 취하여 2로 나누고 새로운 y 좌표에 텍스트를 첨부합니다. 나는 여러 줄을 추가 할 때 텍스트가 같은 좌표에 머물러있는 다른 동작을 찾고있다.Raphael JS 라이브러리 멀티 라인에서 텍스트 이동을 비활성화하는 방법

누구나 그 행동을 바꿀 수있는 확실한 방법이 있는지 궁금합니다. 소스 코드에서 수정할 수는 있지만 새 버전이 나올 때마다이를 유지 관리하는 것을 싫어합니다.

감사합니다.

답변

1

기본적으로 텍스트 개체의 기본 동작을 설명했습니다.

'attr'메소드에서 'text-anchor': 'start'를 사용하십시오. 난 당신이 텍스트의 예를 살펴과 상호 작용하는 환경에서 그들과 함께 전환 할 수있는 라파엘 추가 자료 도움말 데이터베이스를 보여주는거야

는 ....

http://www.irunmywebsite.com/raphael/additionalhelp.html?q=text

+0

'text-anchor': '시작'은 x 축을 중심으로 텍스트를 가운데에 맞 춥니 다. 이미 설정되어 있습니다. 나는 y 축에 대해 똑같은 것을 찾고 있습니다 ... 저에게 그 사이트를 보여 주셔서 고마워요! – Sergey

0

이 얼마나 I 내 프로젝트 중 하나에서해라. ypu이 http://raphaeljs.com/playground.html

// create rectangle 

var locx = 300 
var locy = 200 
paper.rect(locx, locy, 100,100) 

// create raw text 

element2 = paper.text(locx, locy, "Raphael\n \njust\nrocks") 

element2.attr("text-anchor", "start") 

// measure the raw text 

var bbox = element2.getBBox() 


// compute the scale 

var scalex = 100/bbox["width"] 
var scaley = 100/bbox["height"] 

var translation = "s"+ scalex + "," + scaley 

// scale the text 
element2.transform(translation) 

// measure the scaled text 
var bbox = element2.getBBox() 

// compute the offets of the scaled text 

offsetx = locx - bbox["x"] 
offsety = locy - bbox["y"] 

translation = translation + "T" + offsetx + "," + offsety 

// do the final translation 

element2.transform(translation) 

더 우아한 솔루션에 코드를 붙여 hihgly 환영 경우이 작업을 시도 할 수 있습니다.

관련 문제