Dinamik SVG görüntü nesil ile sorun

3 Cevap php

Ben kullanıcı girişi dayalı bir SVG resmi oluşturmak için sunucu tarafı komut dosyası (PHP) yazmaya çalışıyorum. Ben aşağıdaki kodu kullanıyorum:

<?php

echo '<?xml version="1.0" standalone="no"?>

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<head><meta http-equiv="Content-Type" content="svg+xml" /></head>

<svg width="100%" height="100%" version="1.1" xmlns="http://www.w3.org/2000/svg">

<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red"/>

</svg>';

?>

Ben bu yüzden, yukarıda gördüğünüz gibi içerik-tip ayarlama denedim MIME tipi svg + xml olması gerektiğini okumuştum. Doğru kod Firefox tarafından alınıyor ama görüntü işlenir değildir. Biri burada ne değiştirmek için biliyor mu?

3 Cevap

Geçenlerde bir xhtml belgede svg kullanmak için başarılı oldum.

<?xml version='1.0'?>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink">
    <head><title>test</title></head>
    <body>
    <svg:svg id="display" width="500" heigth="500" viewBox="0 0 500 500">
        <svg:rect width="50" height="50" x="100" y="100" fill="red" stroke="black" />
    </svg:svg>
    </body>
</html>

Her madde için önek: hile svg kullanımı idi. Bu doğru tarayıcısı tarafından ayrıştırılması için ad bilmek gerekiyor.

Sonra Raphael JavaScript kütüphanesini http://raphaeljs.com/ ki çok kolay bir SVG nesneleri taşıma yapar doscovered.

Umarım işe yarar

Sadece söyleyerek bu:

<?xml version='1.0'?>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink">
    <head><title>test</title></head>
    <body>
    <svg:svg id="display" width="500" heigth="500" viewBox="0 0 500 500">
        <svg:rect width="50" height="50" x="100" y="100" fill="red" stroke="black" />
    </svg:svg>
    </body>
</html>

Bu gibi aynı şekilde çalışacaktır:

<?xml version='1.0'?>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head><title>test</title></head>
    <body>
    <svg id="display" width="500" heigth="500" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
        <rect width="50" height="50" x="100" y="100" fill="red" stroke="black" />
    </svg>
    </body>
</html>

Temiz / daha okunabilir olan kendiniz için hakim olabilir. Birçok svg parçaları kullanırsanız, o zaman ilk örnekteki gibi html kök öğesi xmlns-bildirge koymak için bazı durumlarda mantıklı olabilir.