Ergebnis 1 bis 8 von 8

Thema: Bilder drehen

  1. #1
    Registriert seit
    18.03.2005
    Beiträge
    382

    Standard Bilder drehen

    hallo zusammen
    ich habe nach langem wieder mal eine frage an euch.

    wie kann ich bilder korrekt darstellen, das heisst, die bilder wo Hochformat sind, sollen auch Hochformat angezeigt werden und nicht als quer.
    die bilder werden als webupload (Formular) hochgeladen. dies funktioniert auch, aber dann wird es teilweise falsch angezeigt.
    den das orginal bild wurde mit der cam aufgenommen als Hochformat aber die cam speichert die Infos als quer ab.
    auf der Homepage möchte ich dies aber korrekt dargestellt haben.

    wie kann man dies korrigieren?

  2. #2
    almooost ist offline Fortgeschrittener Benutzer
    Registriert seit
    10.12.2012
    Beiträge
    55

    Standard AW: Bilder drehen

    Hallo delfin,

    was benutzt du den für ein Formular/Tool für den Bilder-Upload?

    Meistens wird ein Bild anhand seiner Seitenverhältnisse und EXIF Informationen
    ausgewertet und dementsprechend angezeigt.

    Gruss
    almooost

  3. #3
    Registriert seit
    13.01.2004
    Ort
    Swizzerland
    Alter
    39
    Beiträge
    4.739

    Standard AW: Bilder drehen

    Ich glaube Du suchst diese Infos: http://www.impulseadventure.com/phot...ientation.html

    Es gibt ein Orientation flag in den EXIF Informationen. Die Frage ist dann, ob die Anzeigesoftware dieses auswertet.

  4. #4
    Registriert seit
    18.03.2005
    Beiträge
    382

    Standard AW: Bilder drehen

    wie und wo müsste ich nun einbauen, das die bilder immer korrekt angezeigt werden und nicht bilder als quer anzeigen wo eigentlich hoch sein sollten

    das Formular sieht so aus
    =====
    <?php
    $_DSN ="db";
    $_User = "us";
    $_PW = "pw";
    $conn = odbc_connect($_DSN, $_User, $_PW) or die("Verbindung fehlgeschlagen");
    $SQL0 = "SELECT * FROM table";
    $SQL0R = odbc_exec($conn, $SQL0);
    ?>
    <table id="tableR" border="0" width="0">
    <?php

    echo'<form action="person-person_sql.php" method="POST" enctype="multipart/form-data" name="person" onsubmit="return person();">';
    echo'<input type="hidden" name="mfs" value="form" />';

    $SQL0R = odbc_exec($conn, $SQL0);
    while($SQL0Z= odbc_fetch_array($SQL0R))
    {
    echo'<input type="hidden" name="mfs" value="987654321" />';
    echo'<input type="hidden" name="Fbilda" value= "' . $SQL0Z["bild"] . '"</>';
    echo'<tr>';
    echo'<td>Profilbild</td><td><img src="user/' . $SQL0Z["bild"] . '" height="50"><input name="Fbildn" type="file" size="7" value="" /></td>';
    echo'</tr>';
    echo'<tr>';
    echo'<td width="40%">Email:</td><td width="60%"><input type="text" name="FEmail" size="33" value="' . $SQL0Z["email"] . '"></td>';
    echo'</tr>';
    echo'<tr>';
    echo'<td width="40%">&nbsp;</td><td width="60%">&nbsp;</td>';
    echo'</tr>';
    echo'<tr>';
    echo'<td width="40%">Vorname:</td><td width="60%"><input type="text" name="FVorname" size="33" value="' . $SQL0Z["vorname"] . '"></td>';
    echo'</tr>';
    echo'<tr>';
    echo'<td width="40%">Nachname:</td><td width="60%"><input type="text" name="FNachname" size="33" value="' . $SQL0Z["nachname"] . '"></td>';
    echo'</tr>';
    echo'</form>';
    }
    ?>
    </table>
    =====

    Der Speicher Vorgang so
    =====
    <?php
    ini_set("display_errors",true);
    error_reporting(E_ALL);
    $_DSN ="db";
    $_User = "us";
    $_PW = "pw";
    $conn = odbc_connect($_DSN, $_User, $_PW) or die("Verbindung fehlgeschlagen");
    $Vmfs= $_POST["mfs"];
    $Vbildn = $VUsern.$_FILES['Fbildn']['name'];
    $Vbilds = $VUsern.$_FILES['Fbildn']['size'];
    if ($Vbilds < $Vmfs)
    {
    // quelldatei pfad zieldatei
    move_uploaded_file($_FILES['Fbildn']['tmp_name'] , 'user/'.$Vbildn);
    //print ($_FILES);

    if ($_FILES['Fbildn']['name'] !="")
    {
    $Vbild = $Vbildn;
    }
    else
    {
    $Vbild = $_POST['Fbilda'];
    }

    }
    else
    {
    $Vbild = $_POST['Fbilda'];
    }
    $VEmail= $_POST["FEmail"];
    $VVorname= $_POST["FVorname"];
    $VNachnae= $_POST["FNachname"];

    $query1 = "update user SET
    email = '$VEmail',
    vorname = '$VVorname',
    nachname = '$VNachnae',
    bild = '$Vbild'
    odbc_exec($conn,$query1) or die("Fehler beim Insert");
    ?>

  5. #5
    almooost ist offline Fortgeschrittener Benutzer
    Registriert seit
    10.12.2012
    Beiträge
    55

    Standard AW: Bilder drehen

    Wenn du die Bilder in Ihrer ursprünglichen Formatierung anschliessend auf der Seite
    nirgends mehr benötigst, würde ich die Bilder vor dem Speichern in die richtige Position
    bringen.

    Also vor:
    Code:
    move_uploaded_file($_FILES['Fbildn']['tmp_name'] , 'user/'.$Vbildn);
    Um auszuwerten was für eine Orientierung das Bild hat empfehle ich dir einmal folgende
    Funktionen auf php.net anzuschauen:
    - getimagesize (Um die Länge des Bildes zu erhalten)
    - imagerotate (Um die Bilder anschliessend zu drehen)
    - imagejpg oder imagepng (Um wieder ein Bild aus den Daten zu machen)

    ACHTUNG: Wenn du das mit den über das Formular hochgeladenen Bildern machten möchtest musst du
    zwingend mit $_FILES['Fbildn']['tmp_name'] da die Funktionen mit gespeicherten Bildern arbeiten.

    Hoffe das hilft dir weiter.

  6. #6
    Registriert seit
    18.03.2005
    Beiträge
    382

    Standard AW: Bilder drehen

    wie würde der befehl aussehen, welcher ich verwenden müsste, das die bilder korrekt hochgeladen wird und auf jeder seite der Homepage korrekt angezeigt wird?

  7. #7
    almooost ist offline Fortgeschrittener Benutzer
    Registriert seit
    10.12.2012
    Beiträge
    55

    Standard AW: Bilder drehen

    Die simpelste Variante dazu ist, wenn du das Seitenverfhältnis überprüfst und anhand dieser Informationen das Bild drehst.

    Code:
    $image = $_FILES['Fbildn']['tmp_name'];
    list($width, $height) = getimagesize($image);
    if ($width > $height) {
        $image = imagerotate($image,90,0);
    } else {
        $image = imagerotate($image,270,0);
    }
    // Speichervorgang
    move_uploaded_file($image , 'user/'.$Vbildn);
    Wenn du mit den EXIF Daten arbeitest kannst du genauere Daten aus den Bildern lesen und auch Bilder welche auf dem Kopf stehen drehen:

    Code:
    @source: 
    //EXIF Header von vom Bild lesen
    $exif = exif_read_data($_FILES['Fbildn']['tmp_name']);
    
    //Prüfen ob EXIF Daten existieren
    if(!empty($exif['Orientation'])) {
        switch($exif['Orientation']) {
            case 8:
                $image = imagerotate($image,90,0);
                break;
            case 3:
                $image = imagerotate($image,180,0);
                break;
            case 6:
                $image = imagerotate($image,270,0);
                break;
        }
    }
    // Speichervorgang
    move_uploaded_file($image , 'user/'.$Vbildn);
    Am besten du spielst etwas mit den verschiedenen Funktionen, dann siehst du relativ schnell was mann alles damit
    anstellen kann.

    Grüsse

    almooost

  8. #8
    Registriert seit
    08.07.2013
    Ort
    Luzern
    Alter
    37
    Beiträge
    4

    Standard AW: Bilder drehen

    Ist zwar schon ein alter Thread - aber trotzdem: wer dasselbe Problem hat... dafür gibts in PHP eine einfache Lösung: http://rexo.ch/?pg=docu&m=forms&pag=4
    Die EXIF Daten werden autom. ausgewertet oder auf Wunsch ignoriert.
    Mit der Funktion können die Bilder nicht nur gedreht, sondern auch gelöscht, skaliert etc. werden.

Ähnliche Themen

  1. Frage: Bilder auf Websites
    Von DauerMeh im Forum Webdesign & andere Programmiersprachen
    Antworten: 6
    Letzter Beitrag: 04.10.2010, 09:50
  2. Powerpoint 2003 um 270 Grad drehen
    Von shaker im Forum Software: Windows, Apple, Linux...
    Antworten: 3
    Letzter Beitrag: 04.06.2008, 14:47
  3. Screenshot-Videos drehen mit Powerpoint 2003
    Von spacyfreak im Forum Software: Windows, Apple, Linux...
    Antworten: 2
    Letzter Beitrag: 27.01.2007, 10:37
  4. Extrem gute Bilder!
    Von Technocontrol im Forum Off Topic
    Antworten: 10
    Letzter Beitrag: 16.12.2004, 07:13
  5. Weltall Bilder
    Von swiss_man im Forum Off Topic
    Antworten: 4
    Letzter Beitrag: 28.12.2003, 21:51

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •