Data URI

Alice

Erfahrenes Mitglied
Hallo Leute.

Habe folgendes Problem.

In einer SVG-Datei sind PNG-Bilder "verlinkt". Diese sind mit dem Image-Tag eingebunden.

Seit dem wechsel auf einen anderen Server funktioniert nun das konvertieren von SVG zu PNG nicht mehr. Statt der Bilder wird gar nichts angezeigt. Normale Formen und Pfade werden aber angezeigt. Nach 1000 tests bin ich der Sache näher gekommen.

Wenn ich statt der URL (http://www.meine.seite......) data-URI verwende geht es!

1. Aber warum?
2. Wie kann ich die Links "einfach" in dieses Format umwandeln?

PS: Im Browser sieht alles toll aus.
 
Hast du mal das error reporting eingestellt?
Gibt es irgendwelche Fehlermeldungen?

Wie wäre es mit ein paar Quellcodezeilen?
 
PHP:
try
{
  $SVG2PNG = new Imagick();
  $SVG2PNG->SetBackgroundColor(new ImagickPixel('transparent'));
  $SVG2PNG->ReadImage('http://www.meine-tolle-seite.de/mit-vielen/ordnern/test.svg');
  $SVG2PNG->SetImageFormat("PNG32");
  $SVG2PNG->ResizeImage(0, 100, imagick::INTERPOLATE_BILINEAR, 1, FALSE);
  $SVG2PNG->WriteImage('http://www.meine-tolle-seite.de/mit-vielen/ordnern/test.png');
  $SVG2PNG->Clear();
  $SVG2PNG->Destroy();
}
catch (ImagickException $e)
{
   var_dump($e);
}

Der Code funktioniert. Nur werden die Image-Tags innerhalb der SVG völlig ignoriert. Andere Elemente funktionieren.
 
Andere Imagick-Version oder andere Konfigurationseinstellungen?

Falscher Pfad im Dateisystem oder keine Zugriffsrechte für Script?

Vielleicht kein allow_url_fopen aktiviert?
 
Ich habe keine Ahnung. :(

Mein Hoster sagt: Der alte und neue Server sind von der Config 1:1 identisch.

Normale SVG-Dateien lassen sich mit meinem Code (oben) problemlos konvertieren. Nur das Image-Tag wird ignoriert. Es wird aber nur ignoriert, wenn es ein normaler Pfad ist.

Beispiel:
- grafik.svg
- /grafik.svg
- ./grafik.svg
- http://www.meine-seite.de/ordner/grafik.svg

DATA-URL funktionert...

Wenn ich meine SVG-Datei mit Firefox öffne, funktionert es übrigens perfekt. IMagick scheint plötzlich ein Problem mit URLs zu haben.
 
Auch wenn das vermutlich überhaupt nicht hilfreich ist, aber wie wäre es,
nach den ewigen Problemen in den letzten Jahren den Hoster zu wechseln? :rolleyes:
 
Deswegen möchte ich ja eigentlich einen Homeserver einrichten, aber die kenne mich nicht genug mit der Materie aus. Zumindest noch nicht.

Finde auch nichts besseres als All-Inkl.com :(
 
Bin nun dabei das Problem via XML zu lösen. DATA-URL statt Grafiken. Wenn alles so "schickt" wie im Moment bleibt, bleibt ich vorerst bei All-Inkl.com. Klar: Ziel ist ein eigener Server, aber ich möchte mir an so etwas nicht die Foten verbrennen. Hatte damals 2x Counter Strike Source und 1x Battlefield 2 Server und selbst das wurde mir fast zum Verhängnis, obwohl ich es nicht einmal selbst Warten musste. Alleine wenn ich an die ganzen Brutforce Dinger denke kommen komische Errinerungen hoch...
 
Ja. Geht leider auch nicht.

Ich habe alle Varianten durch die es gibt.

Das "blöde" war vorher (wo es noch ging), dass die SVG lokal auf meinem Rechner nichts (Fehler) angezeigt hatte und nur "Online" richtig funktionierte. Mit DATA-URL geht es jetzt Lokal, mit Firefox und mit IMagick. Wobei es mit Firefox immer geht. Egal welche "Technik".

IMagick ist einfach ein kleines stures Scheißprogramm was aber - wenn es mal läuft - gut arbeitet. :D

Text entlang eines Pfades kann es auch nicht... und genau diese Technik ist mir eigentlich sehr wichtig.
 
Zurück