Проблема с динамическим поколением изображения SVG

Наш основной программный продукт, который записан в VB6 и пользуется различными более старыми библиотеками, установил и работал на Windows 7 Beta без любых проблем.

я должен все же видеть официальное заявление от Microsoft относительно поддержки VB6 в Windows 7. Прекращение поддержки во время выполнения миллионов приложений VB6 и библиотек имело бы мало смысла для них коммерчески, рассматривая, как популярный VB6 все еще.

5
задан Kshitij Saxena -KJ- 26 October 2009 в 05:44
поделиться

3 ответа

Согласно странице SVG в википедии , SVG должен обслуживаться как image / svg + xml .
См. Также: 1.2 Тип SVG MIME, расширение имени файла и тип файла Macintosh

Следующая мета:

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

Не определяет способ обслуживания контента с сервера - это скорее способ предоставить эту информацию для HTML-страниц, когда вы не можете определить способ ее обслуживания ...
И я не уверен, что метаэлемент действителен в спецификациях SVG - Я позволю вам проверить это ^^


Что вам нужно сделать, здесь, отправляет HTTP-заголовок с вашего сервера, указывая тип содержимого ваших данных.

Это делается с помощью функции PHP header ; в вашем случае:

header('Content-type: image/svg+xml');

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">
<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>';

Примечание:

  • Я удалил теги и ; не уверен, следует ли удалить , но поскольку он был пустым ....
  • Я добавил вызов к функции заголовка
  • Красный кружок SVG правильно отображается в firefox - похоже, работает; -)

Надеюсь, это поможет!

25
ответ дан 18 December 2019 в 06:03
поделиться

Недавно мне удалось использовать svg в документе xhtml.

<?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>

Уловка заключалась в использовании префикса svg: для каждого элемента. Ему необходимо знать пространство имен, чтобы его правильно разбирал браузер.

Затем я обнаружил библиотеку Raphael Javascript http://raphaeljs.com/ , которая очень упрощает работу с svg-объектами.

Я надеюсь. помогает

0
ответ дан 18 December 2019 в 06:03
поделиться

Просто скажу, что это:

<?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>

будет работать так же, как это:

<?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>

Вы можете сами судить, что более читабельно / чисто. Если вы используете много svg-фрагментов, в некоторых случаях имеет смысл поместить объявления xmlns в корневой элемент html, как в первом примере.

2
ответ дан 18 December 2019 в 06:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: