Tôi có cùng một câu hỏi như tôi không thể tìm thấy câu trả lời, sáng tạo và giải quyết như sau:
<?php
$svgfile = simplexml_load_file("svgimage.svg");
$width = substr($svgfile[width],0,-2);
$height = substr($svgfile[height],0,-2);
?>
Lưu ý rằng các tập tin SVG Tôi đã từng được tạo ra trong Adobe Illustrator. Vì vậy, mã svg của hình ảnh bắt đầu như sau:
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="400px" height="738px" viewBox="0 0 400 738" enable-background="new 0 0 400 738" xml:space="preserve">
...
Nhờ đó, tôi có thể nhận được giá trị chiều rộng và chiều cao.
Và tôi sử dụng substr
vì $svgfile[width]
trả về giá trị bằng hậu tố "px". Tôi cũng có thể sử dụng giá trị viewBox và chia nó để có được các giá trị.
Chúc mừng từ Santiago, Chile
@Williham Totland, tôi đã đọc 'viewbox', nhưng có vẻ như 'viewbox' cũng nên đặt' Dimensions' theo cách thủ công, không tự động. làm thế nào để chuyển một 'SVG' sang' viewbox' 'xml file'? nó nên duy trì tỷ lệ khung hình ảnh. Cảm ơn. – cj333
@ cj333: Lỗi phân tích cú pháp. –
@Williham Totland, @Brian, xin lỗi, tôi vẫn chưa biết cách sử dụng nó. ví dụ 'viewbox', nếu tôi biết' width = "500" height = "300" 'tôi có thể dễ dàng nhận được nó. Nhưng tình hình thực tế là tôi không biết điều đó. Tôi chỉ biết url của nó là 'http: // upload.wikimedia.org/wikipedia/commons/6/6c/Cog-scripted-svg.svg' – cj333