Tôi có nhóm đồ họa svg (ý tôi là đường dẫn, kết nối lại, v.v.). Tôi muốn chia tỷ lệ nhóm thành một kích thước nhất định, để được xem là 70,70. Tôi biết rằng svg cung cấp quy mô chuyển đổi, nhưng quy mô chuyển đổi cần yếu tố quy mô mà tôi không biết vì nhóm có thể có nhiều hình dạng và nó không dễ dàng để xác định kích thước giới hạn của cả nhóm.
Tôi đã chơi với tham số viewBox của tham số svg elemenent và retainAspectRatio nhưng tôi không thể nhận được kết quả mong muốn (nhóm tỷ lệ đến 70,70).
Có thể quy mô nhóm với biến đổi maxtrix hoặc tồn tại theo cách khác?Làm thế nào tôi có thể chia tỷ lệ nhóm đồ họa svg thành kích thước mong muốn (không theo yếu tố)?
8
A
Trả lời
6
Bạn có thể sử dụng chức năng getBBox()
để truy xuất kích thước hiện tại của đồ họa và sau đó sử dụng chiều rộng và chiều cao để tính hệ số tỷ lệ được áp dụng cho đồ họa để vừa với kích thước mong muốn.
Trong ví dụ dưới đồ họa trong nhóm g1 được thu nhỏ để phù hợp trong một rectange có chiều rộng và chiều cao thiết lập để 70.
<?xml version="1.0" encoding="UTF-8" ?>
<svg version="1.2" viewBox="0 0 480 240" width="480" height="240" xmlns="http://www.w3.org/2000/svg" >
<g id="g1">
<rect x="20" y="20" width="100" height="100" fill="red" />
<rect x="40" y="60" width="100" height="100" fill="blue" />
</g>
<script type="application/ecmascript">
var width=70, height=70;
var node = document.getElementById("g1");
var bb = node.getBBox();
var matrix = "matrix("+width/bb.width+", 0, 0, "+height/bb.height+", 0,0)";
node.setAttribute("transform", matrix);
</script>
</svg>
Các vấn đề liên quan
- 1. Chia tỷ lệ chín phần SVG
- 2. Tôi làm cách nào để chia tỷ lệ BufferedImage
- 3. Tỷ lệ hình ảnh theo tỷ lệ tùy theo kích thước div gốc
- 4. Làm cách nào để hiển thị SVG được chia tỷ lệ thành QImage?
- 5. Chia tỷ lệ SVG bằng Java
- 6. Kiểm soát kích thước phông chữ trong đồ họa trong LaTeX khi chia tỷ lệ trong minipage/subfig?
- 7. Làm cách nào để chia tỷ lệ đa giác SVG bằng ems?
- 8. số Chia thành các nhóm có kích thước tương đương
- 9. Tự động chia tỷ lệ hình ảnh theo kích thước với (Py) GTK
- 10. JAXB Unmarshall exception - yếu tố không mong muốn
- 11. Làm thế nào tôi có thể di chuyển một mẫu SVG với một yếu tố
- 12. Tỷ lệ hình ảnh theo tỷ lệ
- 13. Cách căn giữa và chia tỷ lệ tệp SVG bên trong một tệp SVG khác
- 14. jQuery-UI Có thể thay đổi kích thước: chia tỷ lệ tất cả các phần tử cũngRizeize theo tỷ lệ với div
- 15. Tôi có thể ngừng thay đổi kích thước của các yếu tố trên thu phóng không?
- 16. Tỷ lệ chia tỷ lệ trong hình ảnh Android?
- 17. thêm padding để yếu tố svg g
- 18. Java (Android): Làm cách nào để chia tỷ lệ có thể vẽ mà không có Bitmap?
- 19. Chia tỷ lệ hình ảnh theo tỷ lệ trong CSS với chiều rộng tối đa
- 20. Cách dịch nhóm SVG theo tỷ lệ phần trăm của chế độ xem
- 21. Làm cách nào để chia tỷ lệ SVG có một số định nghĩa đường dẫn phức tạp?
- 22. Làm cách nào để có chiều rộng của phần tử SVG được chia tỷ lệ với JavaScript?
- 23. Hình ảnh tỷ lệ .NET khi vẽ đến đồ họa
- 24. Tạo và chia tỷ lệ SVG cho đầu ra máy in
- 25. Làm thế nào để kiểm soát kích thước phông chữ trong đồ họa pgf/tikz trong latex?
- 26. Làm cách nào để chia tỷ lệ hình chữ nhật thành kích thước tối đa trong hình chữ nhật khác?
- 27. Android: PSS (Tỷ lệ đặt theo tỷ lệ) Tính toán
- 28. image Chia tỷ lệ hình ảnh hộp
- 29. jQuery animate yếu tố SVG
- 30. CXF: Lỗi không sửa lỗi: các yếu tố không mong muốn, {} có nghĩa là gì?
Đối với những người muốn chơi xung quanh với giải pháp này, đây là một JSFiddle của giải pháp của bạn: http://jsfiddle.net/luken/4xx9edo2/ ... Đang sử dụng thuộc tính 'transform' là giải pháp duy nhất? Không có cách nào để nói ' 'để kế thừa chiều rộng và chiều cao của bậc cha mẹ'
Hoạt động hoàn hảo, cảm ơn! Đây sẽ là câu trả lời được chấp nhận. – Booligoosh