Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] prosty skypt zmieny rozdzielczości zdjęcia
--Mariusz--
post
Post #1





Goście







Witam

Czy mógłbym prosić o prosty skrypt zmieniający rozdzielczość uploadowanego obrazu.
Go to the top of the page
+Quote Post
ysatis
post
Post #2





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 7.11.2007

Ostrzeżenie: (0%)
-----


  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;
  }

Ten post edytował ysatis 28.02.2008, 12:37:35
Go to the top of the page
+Quote Post
--Mariusz--
post
Post #3





Goście







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. ?>
Go to the top of the page
+Quote Post
ysatis
post
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 7.11.2007

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post
--Mariusz--
post
Post #5





Goście







Dzięki wielkie
Go to the top of the page
+Quote Post
--Mariusz--
post
Post #6





Goście







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.
Go to the top of the page
+Quote Post
--Mariusz--
post
Post #7





Goście







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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 20:25