kostenloser Webspace werbefrei: lima-city


Bild Drehen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    e********n

    Hi, ich möchte ein Bild um 90° drehen und habe mir hierzu die rotate Funktion von php.net angeschaut, komme aber nicht damit zurecht.

    // Content type
    header('Content-type: image/jpeg');

    // Load
    $orgimage = @ imagecreatefromjpeg($filename);

    // Rotate
    $rotate = imagerotate($orgimage, $degrees, 0);

    // Output
    imagejpeg($rotate, $filename);

    mich stört der header. Wenn ich die Funktion in mein Script einbaue bekomme ich ständig einen "header already sent"-Fehler. Kennt jemand ne möglichkein das Bild möglichst einfach zu drehen OHNE einen header senden zu müssen??

    lg exphorizon
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. b****y

    Ohne den Header geht's leider nicht. Du kannst aber das Script, welches das Bild dreht als Pfad in einen <img>-Tag einer Seite einbauen.

    MfG, Bohrty.
  4. Ich denke es sollte auch ohne Header gehen, wenn man das Bild nicht direkt anzeigen lässt, sonders es einfach speichert. Dann kann man es ja immernoch in nem <img>-Tag anzeigen lassen. Und da du ja imageJPEG verwendest, sollte es auch so gehen.

    Ich zumindest hab ein ähnliches Script und dort verwende ich keinen Header, sondern nehme mein Bild, mach ein Thumbnail davon und zeige dieses dann als Link zu dem Originalbild an.
  5. Das mit dem Header already sent by liegt ganz eifnach daran, dass du nur einmal den Header schicken kannst. Dagegen gibt es aber die sogenannten Buffer-Funktion.

    ob_start; und ähnliches.


    Das wird dir hier aber wenig bringen weil die FUnktionen die du benutzt kein Bild anzeigen, sondern ein Bild zurückgeben. Du musst es demnach immernoch per img tag oder ähnlichem anzeigen lassen.


    Lösung: Pack das Script in eine Extra Datei und linke die als Bildadresse. Fertig.
  6. Autor dieses Themas

    e********n

    ok, also soweit hab ich verstanden was ihr meint, vielen Dank schonmal, aber mein Bild soll nicht nur temporär gedreht werden sondern auch direkt überspeichert werden. Deswegen übergebe ich auch 2 parameter imagejpeg($rotatedpicture, $filename);
    aber wenn ich header() weg lasse geht gar nichts mehr. Er muss das Bild ja noch nicht einmal anzeigen.
    Wenn ich Beispielsweise imagecopyresized benutze gibts keine Probleme mit dem Bild...
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!