Trong SVG (và Canvas, Quartz, Postscript, ...), ma trận chuyển đổi ảnh hưởng đến cả tọa độ đường dẫn và chiều rộng đường. Có cách nào để thực hiện điều chỉnh sao cho chiều rộng của đường không bị ảnh hưởng? Tức là, trong ví dụ sau, thang đo là khác nhau cho X và Y, làm cho hình vuông thành hình chữ nhật, đó là OK, nhưng nó cũng làm cho các đường rộng hơn ở hai bên.Làm thế nào để làm cho chiều rộng đột quỵ miễn dịch với ma trận chuyển đổi hiện tại
<g transform="rotate(30) scale(5,1) ">
<rect x="10" y="10" width="20" height="20"
stroke="blue" fill="none" stroke-width="2"/>
</g>
Tôi có thể thấy rằng sẽ có ích trong nhiều trường hợp, nhưng là có một cách để lựa chọn ra khỏi nó? Tôi cho rằng tôi muốn có một cây bút riêng biệt hoặc có thể đặt bút là hình elip mà CTM chuyển đổi thành một vòng tròn, nhưng tôi không thấy bất cứ thứ gì như thế.
Thiếu điều đó, tôi nghĩ tôi không được nói với SVG về CTM của tôi và thay vào đó tự biến đổi tọa độ, có nghĩa là chuyển đổi nguyên thủy như rect
thành tương đương path
tương đương.
trùng lặp: http://stackoverflow.com/questions/10160262/draw-a-line-that-doesnt-get-thicker-when-image-stretches –