Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

+1 vote

Hallo liebes Support-Team,

ich habe eine SVG-Datei hinzugefügt und auch mit entsprechenden Funktionen manipuliert. Das hatte wunderbar funktioniert, allerdings habe ich jetzt eine komplexere SVG-Datei erstellt und nun wird folgender Fehler angezeigt:

PHP error 2 in file /var/www/s2survey/html/inc/ReportGenerator.php in line 1147: Division by zero

Alle Ebenennamen und IDs sind gleich geblieben, - was mache ich falsch? Muss die SVG-Datei anders aufgebaut sein?

Folgende Funktionen habe ich verwendet (die vorher auch funktionierten):

$svg = svgPrepare('testdatei.svg'); 
svgSetStyle($svg, "planung25", ['opacity' => 0.8]);
svgSetStyle($svg, "planung50", ['opacity' => 0.25]);
svgSetStyle($svg, "planung75", ['opacity' => 0.5]);
svgSetStyle($svg, "planung100", ['opacity' => 0.25]);

add(
  image($svg),
  ['x' => 0, 'y' => 0, 'width' => 100, 'height' => 100]
);

LG

in Datenauswertung by s149335 (345 points)

1 Answer

0 votes
 
Best answer

An dieser Stelle im Code berechnet SoSci Survey das Seitenverhältnis der SVG-Datei. Dafür werden die Attribute "width" und "height" im <svg>-Tag der SVG-Datei ausgewertet.

Meine Vermutung wäre, dass diese in Ihrer SVG-Datei einfach fehlen.

Dass das gleich zu einer Fehlermeldung führt, sollte natürlich nicht sein. Das sehen wir uns nächste Woche gleich an.

by SoSci Survey (206k points)
selected by s149335
Hallo,
das hat zwar geholfen, aber die Grafik (SVG) wird total verzerrt angezeigt. In der Preview bei Bilder- und Mediendateien ist alles top.
Beim Report sehen ungefähr die Hälfte aller Elemente falsch aus. Ich habe nun sechs oder sieben verschiedene Exportfunktionen verwendet (mit Adobe Illustrator und Adobe Xd). Keins funktioniert ordnungsgemäß. Teilweise sind es auch unterschiedliche Darstellungsfehler. Aber in der Preview sieht immer alles richtig aus. Was mache ich falsch?
Sie können die Maße ja einmal in der SVG-Datei eintragen und ein zweites mal bei der Einbindung via image(). Dort sollte als Standard-Wert eigentlich das Maß aus der SVG-Datie verwendet werden. Ich weiß natürlich nicht, ob Ihr PHP-Code von oben noch aktuell ist oder ob Sie daran schon etwas geändert haben.

Zwei Vorschläge:

(a) Schicken Sie mir die SVG-Datei und den aktuel zur Einbindung des Bildes verendeten PHP-Code doch einmal an info@soscisurvey.de, dann kann ich mir das direkt ansehen.

(b) geben Sie im image()-Befehl auch nochmal zusätzlich die Breite und Höhe ein, wie das Bild angezeigt werden soll.

Ich spiele heute zusätzlich noch das Update ein, damit die fehlenden Werte in der SVG-Datei nicht mehr zu einer Fehlermeldung führen.
Danke für die Zusendung der Datei. Die fehlerhafte Darstellung der transparenten Kreissegmente liegt offenbar daran, dass Adobe beim Erstellen der SVG-Datei "Slang" verwendet. Wenn man die Datei mit Inkscape editiert, funktioniert sie korrekt.
Hallo, vielen Dank für die Bearbeitung!

Ich habe übrigens auch In Adobe Illustrator eine Export-Einstellung gefunden, die nichts verzerrt darstellt:

SVG-Profile: SVG Tiny 1.2
Text: SVG
Subsetting: Ohne (Systemschriften verwenden)
Dezimalstellen: 3 (je mehr, desto besser, aber desto größer die Datei)
Kodierung: UTF-8 Unicode
Responsiv (checked)
...