Ankündigung

Einklappen
Keine Ankündigung bisher.

JPG in der Größe verändern und speichern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • JPG in der Größe verändern und speichern

    Hallo,

    auf meinen Seiten können User einzelne Jpg hochladen, nachdem Hochladen sollen die Bilder auf eine Größe geändert werden, damit sie besser im Web angezeigt werden können.

    Wie bekomme ich das hin ?

    ICh versteh die image Funktionen nicht so recht.
    Für Hilfe wäre ich dankbar.
    Gruß
    McKillian

  • #2
    Nach ausführlicher Suche im Netz hab ich das hier gefunden
    Code:
    $size=GetImageSize("jest.jpg"); #ermittelt die Bildgröße von test.jpg
    $old=ImageCreateFromJPEG("test.jpg"); #erzeugt neues Bild, das aus der JPEG-Datei test.jpg gelesen wird
    $new=ImageCreate(60,30); #erzeugt ein neues Bild
    ImageCopyResized($new,$old,0,0,0,0,60,30,$size[0],$size[1]); #kopiert und ändert von $old in $new
    ImagePNG($new,"test.png"); #speichert $newimage in test.png
    ImageDestroy($old); #gibt Speicher von $old wieder frei, löscht $old
    ImageDestroy($new); #gibt Speicher von $new wieder frei, löscht $new
    Gruß, McKillian

    Kommentar


    • #3
      http://www.google.de/search?hl=de&ie...a=lr%3Dlang_de

      Kommentar


      • #4
        wie lädst du die Bilder hoch??
        Kannst du den code mal posten?


        mfg bassel

        Kommentar


        • #5
          Hi,
          hier der Code !
          Die Bilder werden per Formular übertragen (kein FTP).
          Code:
          if (isset($_FILES['datei']) and ! $_FILES['datei']['error']) {
              // Alternativ:            and   $_FILES['probe']['size']
              $newFile = "".$_POST['aid']."_bild_".$_POST['zaehler'].".jpg";
          	
          	
          	if ($_POST['aid'] != "") {
          		move_uploaded_file($_FILES['datei']['tmp_name'], "./bilder/$dir/$newFile");
          		chmod ("./bilder/$dir/$newFile", 0644);
          		$img =  ImageCreateFromJPEG ("./bilder/$dir/$newFile");
          		$widthIm=ImageSX($img);
          		$heightIm=ImageSY($img);
          		if ($widthIm > $heightIm) {
          			$new=imagecreatetruecolor(600,400); #erzeugt ein neues Bild
          			ImageCopyResized($new,$img,0,0,0,0,600,400,$widthIm,$heightIm); #kopiert und ändert von $old in $new
          			ImageDestroy($img); #gibt Speicher von $old wieder frei, löscht $old
          			ImageJpeg($new,"./bilder/$dir/$newFile"); 
          			ImageDestroy($new); #gibt Speicher von $new wieder frei, löscht $new
          		} else {
          			$new=imagecreatetruecolor(400,600); #erzeugt ein neues Bild
          			ImageCopyResized($new,$img,0,0,0,0,400,600,$widthIm,$heightIm); #kopiert und ändert von $old in $new
          			ImageDestroy($img); #gibt Speicher von $old wieder frei, löscht $old
          			ImageJpeg($new,"./bilder/$dir/$newFile"); 
          			ImageDestroy($new); #gibt Speicher von $new wieder frei, löscht $new
          		}
          		echo "<font face='Arial, Helvetica, sans-serif' size='-1'>Die Datei $_FILES['datei']['name'] steht jetzt als " .
          				"$newFile zur Verfügung.
          </font>";
          		echo "<font face='Arial, Helvetica, sans-serif' size='-1'>Sie ist $_FILES['datei']['size'] Bytes groß und vom Typ $_FILES['datei']['type'].</font>";
          						
          	} else {
          		echo "<font face='Arial, Helvetica, sans-serif' size='-1'>Die Datei $_FILES['datei']['name'] ist kein JPEG oder die Kennung der Abteilung war nicht gesetzt</font>";
          	}
            }

          Kommentar


          • #6
            vielen dank! könntest du das Formular auch noch posten???


            mfg bassel

            Kommentar


            • #7
              So hier das Formular:
              Code:
              <form
                action="<?php echo $_SERVER['PHP_SELF']; ?>"
                method="post"
                enctype="multipart/form-data">
              <input type="file" name="datei" />
              <input type="hidden" name="zaehler" value="<?php echo $zaehler;?>">
              <input type="hidden" name="status" value="2">
              <input type="hidden" name="aid" value="<?php echo $aid;?>">
              <input type="hidden" name="dir" value="<?php echo $dir;?>">
              
              
              <input type="submit" value="[Foto hochladen]" />
              <input type="button" name="Button" value="[Fenster schließen]" onClick="window.close()">
              </form>
              aid ist eine Kennung die du nicht brauchst und dir ist ein Verzeichnisname der durch den User angegeben wurde.

              Kommentar


              • #8
                danke!

                Kommentar

                Lädt...
                X