Hallo,
ich möche aus einer relativ großen (4500 x 3000 Pixel) jpg Datei ein 800 x 600 Pixel Stück an variable Stelle herausschneiden und im Browser anzeigen.
Ich habe das jetzt mit Image::Magick ($image->Crop(geometry=>"800x600+$xOffset+$yOffset");) gemacht.
Es funktioniert an sich, braucht aber schon auf meinem PC (1,5 GHz) ca. 5 Sekunden, die CPU-Auslastung ist dabei nach Task-Manager 100%.
Wenn ich das jetzt auf einen (virtuellen) Server neben einigen anderen Prozessen laufen lasse, wird es sicher unbrauchbar langsam.
Kennt jemand eine schneller Methode ein jpg zu beschneiden?
Nach meinen bescheidenen jpg Kenntnissen werden diese doch in (8x8 Pixel ?) Blöcken gespeichert. Wenn man die Beschneidung nur an diesen Blockgrenzen zuläßt (würde für meine Zwecke reichen) sollte man die Beschneidung doch eigentlich direkt auf den (Datei-) Daten vornehmen können, die Daten also nicht erst in ein "Bild" umwandeln müssen (wies Image::Magick evtl. macht).
Ich hoffe, ihr wisst wie ich das meine und habt ein paar Ideen dazu ;-)
MfG Steffen Flämig