Programing

텍스트 및 그룹 노드에 대한 dojox.gfx 경계 상자

lottogame 2020. 11. 19. 07:44
반응형

텍스트 및 그룹 노드에 대한 dojox.gfx 경계 상자


dojo의 getBoundingBox () 문서는 다음과 같이 말합니다.

모양의 경계 상자를 반환합니다. 텍스트 모양은 점 기반 개체이므로 경계 상자를 정의하지 않습니다.

이해가 안 돼요. 웹용 벡터 그래픽의 모든 정상적인 구현에는 텍스트 개체 (즉, raphaelJS 및 jQuery SVG)에 대한 경계 상자가 포함됩니다! 여기서 "점 기반 개체"는 무엇을 의미합니까?

Group 객체에 대한 경계 상자에 대한 참조를 찾지 못했지만 최신 Dojo 버전을 사용할 때 그룹에 대해서도 getBoundingbox반환 null됩니다.

사각형에 대한 경계 상자를 쉽게 할 수 있지만 경계 상자가 필요한 유일한 문제는 그룹과 텍스트입니다.

나는 다음과 같이 핫 패칭 도장을 끝냈다.

dojox.gfx.Text.prototype.getBoundingBox = function() { return this.rawNode.getBBox();});
dojox.gfx.Group.prototype.getBoundingBox = function() { return this.rawNode.getBBox();});

물론 SVG 출력 프런트 엔드에서만 작동합니다.

하지만 내가 뭔가 빠졌나? 더 좋은 방법이 있습니까?


Group 객체의 경계 상자에 대한 참조를 찾지 못했지만 최신 Dojo 버전을 사용할 때 getBoundingbox가 그룹에 대해서도 null을 반환합니다.

이 문제 가이 버그 수정 과 관련 있습니까? 나에게 그런 것 같다. 이 있었다 Changed 7 months ago by pruzand고정으로 표시된

http://bugs.dojotoolkit.org/ticket/7019

2012-07-24 업데이트 : 릴리스 -1.8.0rc1을 로컬로 다운로드 하고 해결 된 티켓에서 동일한 테스트설정했습니다 . 이것은 실제로 1.8에서 수정되었으며 그룹에서 null을 반환하는 getBoundingBox는 티켓에 명시된대로 해결됩니다. 테스트 스크립트는 다음을 성공적으로 반환합니다.

bbox of group: {"x":0,"y":2,"endX":238,"endY":379,"width":238,"height":377}
transformed bbox: [{"x":277.7302117816355,"y":152.5448441073243},{"x":512.114456998541,"y":193.87311039205372},{"x":446.64909401810826,"y":565.1456332776561},{"x":212.26484880120276,"y":523.8173669929267}]

또한 이 트위터 게시물에 따르면 1.8은 1 ~ 2 주 후에 출시 될 예정이라고합니다.

참고 URL : https://stackoverflow.com/questions/1612831/dojox-gfx-bounding-box-for-text-and-group-nodes

반응형