phpbar.de logo

Mailinglisten-Archive

[php] =?ISO-8859-1?Q?Re:=20[php]=20Gro=DFe=20Grafiken=20in=20der=20GD-Iibary=20?= =?ISO-8859-1?Q?&=20PHP?=

[php] Re: [php] Große Grafiken in der GD-Iibary & PHP

Oliver Michalak php_(at)_phpcenter.de
Sun, 23 Sep 2001 17:25:39 +0200


>hat jemand evtl. schon Erfahrungen gesammelt mit der Nutzung
>größerer Grafiken in der GD LIbary ???
Jein.

>Im Grunde geht es um eine Deutschland Karte mit Koordinaten, auf denen
>Systeme und Linien dynamisch eingezeichnet werden müssen ... Da der
>Inhalt, der auf die Grafik gesetzt wird schon wenig mehr ist,
>befürchte ich, daß es ein wenig zu viel für PHP/GD-Lib wird.
"Dreh den Spieß um", das bringt viele Vorteile:
Für www.bielewelt.de/stadtplan/ habe ich den Stadtplan, der als
Photoshop-Dokument 400MB einnimmt, in 21*23 Segmente unterteilt und als
JPEG/GIF gespeichert. Je nach Ausschnitt und Zoomstufe lade ich ein oder
bis zu 16 Segmente per GD-lib ein und sakliere diese auf die
Ausgabegröße, um anschließend nach einem DB-Zugriff noch besondere
Ortssymbole einzuzeichen.
Bei einzelnen Segmenten mit maximaler Detailstufe geht das sehr schnell,
die maximale Übersicht mit 16 Einzelsegmente bremst zwar etwas, aber das
ist fast zu vernachlässigen. Das bedeutet auch: die interessanten
Maximalstufen gehen schnell während die Übersichtsstufen etwas länger
dauern...

Achtung: bei der Entwicklung mit der GD-Lib 2.1beta entdeckte ich bei
ImageCopyResampled (das eine bessere Bildqualität liefert) einen Fehler,
den der Entwickler schon bestätigt (und gefixt) hat. Obwohl die
Bildqualität damit deutlich besser ist, ist diese Routine prinzipiell
etwas langsamer.

Da man bei Puretec (wo bielewelt.de gehostet wird) aber keinen Einfluß
auf die GD-Lib hat (ist noch die alte mit GIF-Support), bin ich auf
ImageCopyRescale zurückgekommen. www.bielewelt.de/stadtplan/ ist
diesbezüglich übrigens ein schönes Beispiel, wie schnell die Server dort
sind: Bilderladen, skalieren, DB-Zugriff, Symbole Laden und ins Bild
reinkopieren, dann rausjagen - alles selbst unter den neuen Zeitlimits.

-- 
Oliver Michalak
www.werk01.de / omich_(at)_werk01.de / 0(049)177 - 75 75 393



php::bar PHP Wiki   -   Listenarchive