Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] prosty skypt zmieny rozdzielczości zdjęcia
Forum PHP.pl > Forum > Przedszkole
-Mariusz-
Witam

Czy mógłbym prosić o prosty skrypt zmieniający rozdzielczość uploadowanego obrazu.
ysatis
  function save_image($Image,$NewImage,$MaxWidth,$MaxHeight,$Quality = 80) {
  list($ImageWidth,$ImageHeight,$TypeCode)=getimagesize($Image);
  $ImageType=($TypeCode==1?"gif":($TypeCode==2?"jpeg":($TypeCode==3?"png":FALSE)));
  $CreateFunction="imagecreatefrom".$ImageType;
  $OutputFunction="image".$ImageType;
  if ($ImageType) {
  $Ratio=($ImageHeight/$ImageWidth);
  $ImageSource=$CreateFunction($Image);
  if ($ImageWidth > $MaxWidth || $ImageHeight > $MaxHeight) {
  if ($ImageWidth > $MaxWidth) {
  $ResizedWidth=$MaxWidth;
  $ResizedHeight=$ResizedWidth*$Ratio;
  } else {
  $ResizedWidth=$ImageWidth;
  $ResizedHeight=$ImageHeight;
  }
 
  if ($ResizedHeight > $MaxHeight) {
  $ResizedHeight=$MaxHeight;
  $ResizedWidth=$ResizedHeight/$Ratio;
  }
 
  $ResizedImage=imagecreatetruecolor($ResizedWidth,$ResizedHeight);
  imagecopyresampled($ResizedImage,$ImageSource,0,0,0,0,$ResizedWidth,$ResizedHeight,$ImageWidth,$ImageHeight);
  } else {
  $ResizedWidth=$ImageWidth;
  $ResizedHeight=$ImageHeight;
  $ResizedImage=$ImageSource;
  }
  return $OutputFunction($ResizedImage,$NewImage,$Quality);
  } else
  return false;
  }
-Mariusz-
Ojej nie wiedziałem że proste będzie aż takie ... zawiłe

Jeśli mógłbym prosić jeszcze o pomoc zaimplementowania tego z moim skryptem wrzucania zdjęcia bo szczerze nie bardzo rozumiem ten skrypt :/
Pewnie trzeba go umieścić jakoś przed wrzucaniem zdjęcia do folderu, żeby wrzucał już zmieniony ale dopiero uczę się PHP i nie bardzo wiem jak to zrobić proszę o pomoc.

  1. <?php
  2. $imgName = $id.$_FILES['pliczek']['name'];
  3. $img = 'zdjecia/'.$imgName.'.jpg';
  4. if (move_uploaded_file($_FILES['pliczek']['tmp_name'],$img)) 
  5. {
  6. $zapytanie=mysql_query ('UPDATE `dupa` SET
  7. `fota`=''.$imgName.'' WHERE `id`='.$id);
  8. $mysql = mysql_query($sql);
  9. ?>
ysatis
Cytat(-Mariusz- @ 28.02.2008, 12:52:03 ) *
Ojej nie wiedziałem że proste będzie aż takie ... zawiłe

Jeśli mógłbym prosić jeszcze o pomoc zaimplementowania tego z moim skryptem wrzucania zdjęcia bo szczerze nie bardzo rozumiem ten skrypt :/
Pewnie trzeba go umieścić jakoś przed wrzucaniem zdjęcia do folderu, żeby wrzucał już zmieniony ale dopiero uczę się PHP i nie bardzo wiem jak to zrobić proszę o pomoc.

  1. <?php
  2. $imgName = $id.$_FILES['pliczek']['name'];
  3. $img = 'zdjecia/'.$imgName.'.jpg';
  4. if (save_image($_FILES['pliczek']['tmp_name'],$img,640,480)) 
  5. {
  6.    $zapytanie=mysql_query ('UPDATE `dupa` SET `fota`=''.$imgName.'' WHERE `id`='.$id);
  7.  }
  8.  
  9.  
  10. ?>
-Mariusz-
Dzięki wielkie
-Mariusz-
Witam

Chciałbym aby dodawane były również miniaturkowe zdjęcia. Nie wiem czy dobrze myślę, ale można by było to stworzyć w sposób tak jak powyższy, dodać taka samą drugą funkcję, ze zmienionymi nazwami wszystkich zmiennych.
Również trzeba by było dodać do bazy danych pole "miniaturka" żeby zapisywał nazwę miniaturki. Problem pojawia się dalej. Nie wiem jak zrobić aby miniaturka była dodawana razem z normalnym zdjęciem, pod jednym id do bazy danych. Proszę o pomoc.
-Mariusz-
Kombinowałem w taki sposób

  1. <?php
  2. if (!empty($przycisk)) {
  3. $imgName_mini = $imgName;
  4. $img_mini = 'zdjecia/'.$imgName.'.jpg';
  5. if (save_image_mini($imgName,128,60)) 
  6. {
  7. $zapytanie=mysql_query ('UPDATE `dupa` SET `miniaturka`=''.$imgName_mini.''');
  8. }
  9. }
  10. ?>


ale coś niewychodzi :/2
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.