2012-04-10 37 views
5

Sử dụng Raphael 2.0, Tôi đang cố gắng áp dụng biến đổi cho một tập hợp các đối tượng theo cách có liên quan đến tất cả các đối tượng trong tập hợp. Tuy nhiên, hiệu ứng tôi nhận được là biến đổi được áp dụng cho từng mục riêng lẻ, không phụ thuộc vào các đối tượng khác trong tập hợp.Áp dụng chuyển đổi cho một bộ trong Raphael.js

Ví dụ: http://jsfiddle.net/tim_iles/VCca9/8/ - nếu bây giờ bạn bỏ ghi chú dòng cuối cùng và chạy mã, mỗi vòng tròn được chia tỷ lệ thành 0,5x. Hiệu ứng thực tế mà tôi đang cố gắng đạt được sẽ là mở rộng toàn bộ các vòng tròn, vì vậy khoảng cách tương đối của chúng cũng được thu nhỏ, nên đặt tất cả bốn trong số chúng trong hộp giới hạn của hình vuông màu trắng.

Có cách nào để đạt được điều này bằng các công cụ tích hợp của Raphael không?

Trả lời

11

Khi bạn mở rộng, tham số đầu tiên là thang đo X. Nếu bạn không cung cấp các tham số khác, nó sẽ sử dụng nó như là thang đo Y và tỷ lệ xung quanh tâm của đối tượng.

Khi bạn chia tỷ lệ hình chữ nhật, nó sẽ thu nhỏ quanh tâm của hình chữ nhật. Nếu bạn muốn các vòng tròn co giãn quanh điểm đó, thay vì các trung tâm của chúng, bạn nên cung cấp điểm đó.

Vì vậy, dòng cuối cùng có thể là set.transform("s0.5,0.5,100,100"); (100.100 là trung tâm của hình chữ nhật bạn thu nhỏ)

Ít nhất, tôi nghĩ rằng đây là những gì bạn đang xin.

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