Canvas in PHP

ImageMagick ist installiert. Jedoch werden manche Elemente nicht berücksichtigt, weil ImageMagick das SVG-Format nicht 100% beherrscht. So hat es mir einer von ImageMagick (Forum) gesagt. Als Beispiel sei hier "Text on a Path" genannt.

Ich werde wohl den Anbieter - nach über 10 Jahren - wechseln müssen.
 
Jedoch werden manche Elemente nicht berücksichtigt, weil ImageMagick das SVG-Format nicht 100% beherrscht. So hat es mir einer von ImageMagick (Forum) gesagt. Als Beispiel sei hier "Text on a Path" genannt.
Wow, das ist krass. Ich persönlich hatte das gar nicht auf dem Schirm, dass ImageMagick trotz Version 6.9 so buggy ist. Allerdings habe ich es auch nur hin und wieder benutzt um zwischen PDFs und PNGs zu konvertieren. Trotzdem musste ich das direkt mal ausprobieren, also habe ich mir aus dem Internet ein Beispiel von "Text on a Path" besorgt und mit ImageMagick gerendert. Beim Kommando $ convert test.svg test.png gab es keine Fehlermeldungen. Das hier war das Resultat:
test.png
Das sieht beinahe so aus wie die Vorschau auf der Seite, wo ich den SVG-Code her hatte. Allerdings hat etwas gegoogle ergeben, dass ImageMagick mit "neuen" Features (teilweise 10+ Jahre alt) häufig Probleme hat. Ich kann deshalb verstehen wenn du es nicht verwenden möchtest.


Pro Tipp:
Während meines Studiums habe ich das Programm Inkscape kennengelernt und kann es bestens empfehlen. Das Teil ist wirklich sehr mächtig und ich habe in vielen Stunden Benutzung keinerlei Bugs feststellen können. Es lässt sich außerdem nicht nur per GUI, sondern auch per command line bedienen. Mit diesem Befehl kannst du die SVG mit Inkscape umwandeln: $ inkscape -z -e test_inkscape.png test.svg. Das hier kommt dabei heraus (der Hintergrund ist transparent, auch wenn der Browser das womöglich nicht richtig anzeigt):
test_inkscape.png
Das -z sagt Inkscape keine GUI anzulegen und -e gibt den Exportnamen an. Du kannst noch viele weitere Parameter beeinflussen (z.B. -w <breite> -h <höhe>), und nachdem ich etwas damit rumgespielt habe konnte ich keine Bugs feststellen.
Also am besten probierst du es mal aus ;)

Gruß Technipion
 
Ich arbeite schon seit Jahren mit Inkscape. :) Ich kenne das Programm bestens. Jedoch bietet mein Webhoster das nicht an. Auch andere Webhoster nicht. Ich müsste einen VServer mieten, was ich jedoch mangels Wissen nicht möchte.

EDIT:

Also auch per Exec (hatte bister nur die PHP-Extension verwendet) funktioniert Text-Path nicht. jedoch ist auch nur Version 6.7 installiert.
 
Zuletzt bearbeitet:
Ich müsste einen VServer mieten, was ich jedoch mangels Wissen nicht möchte.
Respekt vor dieser Begründung (y)
Da schließe ich mich direkt an. Es gibt so viele Leute die sich v- und Rootserver holen ohne auch nur die geringsten Kenntnisse. Meistens benutzen die dann auch noch Passwörter wie 12345. U.a. deshalb gibt es so viele Botnetze :rolleyes:
Deshalb Respekt, dass du dir das (wahrscheinlich begründet) nicht zutraust. Zumal man ja in Deutschland als Mieter eines Server selbst dafür haftet, was damit angestellt wird...

Zurück zum Problem: Du hast schon gesagt du möchtest es nicht bei dir zu Hause rendern und hochladen, weil was wenn z.B. das Internet ausfällt? Dafür wäre es natürlich gut zu wissen, wie geschäftskritisch die Daten sind, die du da hochladen willst. Wäre ein Ausfall von 1-2 Tagen schlimm? Ansonsten wäre es ja eine Idee dir einen Raspberry Pi oder ähnliches anzuschaffen, an den Router anzustöpseln, und den dann automatisiert das Rendering und den Upload erledigen zu lassen?

Ansonsten fällt mir jetzt nicht direkt eine optimale Lösung ein.
ABER:
Ich bin ja auch nicht dein Anbieter. Du hast gemeint du wärst schon seit 10 Jahren bei deinem Anbieter, also muss der wohl irgendwas richtig machen. Ich würde die Karte jetzt auch ausspielen: Ruf dort einfach mal an, und erkläre dem Support was du vorhast. Ich denke mit an Sicherheit grenzender Wahrscheinlichkeit wird man dort eine Lösung für dich finden, und sei es nur, dass deine Einheit auf eine aktuellere Version umgestellt wird. Die wollen dich ja als Kunden, und du zählst mit 10 Jahren ja quasi schon zu den Stammkunden. Also lassen die sich bestimmt was einfallen.

Gruß Technipion
 
@Technipion

Mich würde interessieren mit welcher ImageMagick Version Du die SVG mit Text-Path konvertierst hast? Bei mir fehlt mit der Version 6.7.7 der Text. Mein Webhoster hat mir nun angeboten auf einen Server mit der Version 6.9 zu wechseln.

Die Dateien sind nicht "Geschäftskritisch" im Sinne von Datenschutz und ähnliches, sind mir aber sehr Wertvoll, weil ich 4-5 Jahre daran gearbeitet habe.

Wenn ich die Konvertierung an meinem PC oder einem Raspberry Pi durchführen würde, hätte ich aber das Problem, dass das PHP-Skript (Webserver) fertig wäre, aber die Datei nicht sofort "da" wäre.
 
Mein Webhoster hat mich nun auf einen Server mit PHP 7.2.11-nmm1 und ImageMagick 6.9.7-4 Q16 verschoben. Das wäre das "aktuellste".

Text-Path geht aber immer noch nicht.

PHP:
exec("/usr/bin/convert test.svg test1.png");
exec("/usr/bin/rsvg-convert test.svg -o test2.png");
 
Hab ich ja.

PHP 7.2.11-nmm1
ImageMagick 6.9.7-4 Q16

ImageMagick gibt es auf jeden Fall schon in der 7er Version, aber nicht bei All-Inkl.com :rolleyes:
 
Ich habe nun folgendes gemacht.

1.) Raspbian Betriebssystem installiert
2.) Apache2, PHP7 usw. installiert
3.) Inkscape installiert
4.) SVG2PNG via PHP probiert > Funktioniert perfekt

Jedoch werde ich das Gerät gegen das neue "B+" umtauschen, weil mehr Takt, mehr RAM und höhere Bandbreite.
 
Zurück