Tôi có phần tử SVG được xác định với chiều rộng và chiều cao là "297mm" và "210mm" và không có hộp xem. Tôi làm điều này bởi vì tôi muốn làm việc bên trong một khung nhìn A4, nhưng tôi muốn tạo các phần tử theo pixel.Chia tỷ lệ các đối tượng SVG được xác định bằng pixel thành các đơn vị vật lý?
Tại một số điểm, tôi cần phải mở rộng một đối tượng được xác định bằng pixel sao cho nó vừa với một phần của trang A4. Ví dụ, tôi có thể có một đối tượng rộng 100 px, mà tôi muốn mở rộng đến 30mm theo chiều ngang.
Điều này có khả thi không? Tôi nghĩ rằng tôi cần một container thứ hai với một hệ thống phối hợp mới, nhưng tôi không thể tìm thấy bất kỳ cách nào để làm điều này.
EDIT
Dường như tôi (hoặc SVG) đã hiểu lầm những gì một pixel. Tôi nhận ra rằng tôi có thể kích thước một dòng đến 100%, và sau đó nhận được kích thước pixel của nó với getBBox
để tìm tỷ lệ yêu cầu. Tôi đã viết mã này và chạy nó trên 2 khách hàng, một với một màn hình 1280x1024 (80dpi), và một với màn hình LCD 1680x1050 (90dpi):
function getDotsPerInch() {
var hgroup, vgroup, hdpi, vdpi;
hgroup = svgDocument.createElementNS(svgNS, "g");
vgroup = svgDocument.createElementNS(svgNS, "g");
svgRoot.appendChild(hgroup);
svgRoot.appendChild(vgroup);
drawLine(hgroup, 0, 100, "100%", 100, "#202020", 1, 1);
drawLine(vgroup, 100, 0, 100, "100%", "#202020", 1, 1);
hdpi = hgroup.getBBox().width * 25.4/WIDTH;
vdpi = vgroup.getBBox().height * 25.4/HEIGHT;
drawText(hgroup, "DPI, horizontal: " + hdpi.toFixed(2), 100, 100);
drawText(hgroup, "DPI, vertical: " + vdpi.toFixed(2), 100, 120);
}
IE9, FF, Opera và Chrome đều đồng ý rằng cả hai màn hình là dpi theo chiều ngang và chiều dọc (mặc dù Opera hơi không chính xác) và Safari báo cáo 0 dpi trên cả hai màn hình. Vì vậy, svg dường như đã xác định "pixel" là "96dpi". một số Googling nhanh chóng xuất hiện để xác nhận điều này, mặc dù tôi đã không tìm thấy bất cứ điều gì dứt khoát, và hầu hết các truy cập cho 90dpi, với 96dpi là biến thể FF.
Tại sao một số người nghĩ rằng điều này cần đóng? –
Wow - câu hỏi này là một năm tuổi, nêu ra một điểm quan trọng liên quan đến định nghĩa của dpi cho SVG, rõ ràng liên quan đến SVG, và cho thấy một số nỗ lực nghiên cứu. Và, mặc dù vậy, 5 người đã quyết định đóng nó như là một chủ đề không chính thức, và một người nào đó đã từ chối bình chọn nó. Bất cứ ai quan tâm để giải thích? – EML
Và một trong số họ là 16 tuổi, và không ai trong số họ dường như có bất kỳ quan tâm đến SVG ... – EML