2009-10-23 35 views
65

Các tài liệu cho getBoundingBox() trong võ đường nói:dojox.gfx hộp bounding cho văn bản và Nhóm các nút

Trả về một khung giới hạn của một hình dạng. Hình dạng văn bản là một đối tượng dựa trên điểm, do đó, nó không xác định một hộp giới hạn.

Tôi không hiểu. Bất kỳ việc triển khai thực hiện đồ họa vector nào cho web bao gồm hộp giới hạn cho các đối tượng văn bản (raphaelJS và jQuery SVG)! Ở đây, "đối tượng dựa trên điểm" nghĩa là gì?

tôi không tìm thấy tài liệu tham khảo cho một hộp bounding cho đối tượng Group, nhưng khi sử dụng phiên bản Dojo mới nhất, getBoundingbox lợi nhuận null cho nhóm cũng

tôi dễ dàng có thể làm hộp bounding cho hình chữ nhật bản thân mình, nhưng chỉ thực sự có vấn đề hình dạng tôi cần hộp giới hạn là Nhóm và Văn bản.

tôi đã kết thúc hotpatching võ đường như:

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

mà sẽ làm việc tất nhiên chỉ dành cho phần mặt trước sản lượng SVG.

Nhưng tôi tự hỏi, tôi có thiếu gì đó không? Có cách nào tốt hơn để làm điều đó không?

+1

Vâng, tôi là một noob ... nhưng trong văn bản SVG không chỉ là một đối tượng dựa trên điểm..http: //srufaculty.sru.edu/david.dailey/svg/getCTM.svg hoặc I din ' t hiểu vấn đề. – Alex

+1

dojox.gfx không chỉ là SVG. Đó là việc chuẩn hóa các công cụ gfx của trình duyệt chéo có sẵn (svg | | vml || silverlight || etc) ... Nếu một trình kết xuất không thể "làm điều gì đó", có thể nó không đưa nó vào API "chuẩn hóa" là dojox.gfx (một điều khác mà tôi nghĩ là cá nhân tôi đã đạt được nhiều điểm dừng trên gradient, mà VML không xử lý nhưng SVG hoạt động khá tốt) – dante

Trả lời

2

tôi không tìm thấy tài liệu tham khảo cho một hộp bounding cho đối tượng Group, nhưng khi sử dụng phiên bản mới nhất Dojo, getBoundingbox trả về null cho nhóm cũng

Liệu vấn đề này liên quan đến this bug fix? Nghe có vẻ như với tôi. Đó là Changed 7 months ago by pruzand và đánh dấu là cố định

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

Cập nhật 2012/07/24: tôi tải release-1.8.0rc1 tại địa phương và thiết lập các same test trong vé giải quyết. Điều này thực sự đã được cố định trong 1,8 và getBoundingBox trả về null trên các nhóm được giải quyết như đã nêu trong vé. Các kịch bản thử nghiệm trả về thành công:

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}] 

Cũng vì những gì nó có giá trị, theo this twitter post, 1,8 là do được phát hành trong một hoặc hai tuần.

+0

Nghe đúng, nó không xảy ra khi tôi hỏi lần đầu câu hỏi. Chăm sóc để xác minh rằng nó thực sự hoạt động? –

+0

Chỉ cần xác minh rằng nó thực sự hoạt động. –

Các vấn đề liên quan