Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dodanie sygnaturki... w locie
Forum PHP.pl > Forum > Przedszkole
bronx
witam

zawsze tworzyłem miniaturki (lub dodawałęm sygnatury) podczas uploadu na serwer, jednak teraz chciałbym robić to "w locie"

jak dokładnie ma to wyglądać ?

wiem, że było pare razy wałkowane na forum, ale nie znalazłem odpowiedzi na mój problem

oto kod:

  1. <html><head><title>sygnaturka</title></head>
  2. <body>
  3. <div align="center"><font color="black">Oto fotka z sygnaturką:<br /><br /></font>
  4.  
  5. <?php
  6.  
  7. $sciezka = "obrazek.jpg";
  8. list($szerokosc, $wysokosc, $type, $attr) = getimagesize($sciezka);
  9. $sygnaturka_nazwa = "sygnaturka.gif";
  10. $sygnaturka = imagecreatefromgif("$sygnaturka_nazwa");
  11. $wgrywany = imagecreatefromjpeg("$sciezka");
  12. $nowy = imagecreatetruecolor($szerokosc, $wysokosc);
  13. imagecopyresampled($nowy, $wgrywany, 0, 0, 0, 0, $szerokosc, $wysokosc, $szerokosc, $wysokosc);
  14. $sygnaturka_wysokosc = $wysokosc - 83;
  15. $sygnaturka_szerokosc = $szerokosc - 88;
  16. $obrazek = ImageCopy($nowy, $sygnaturka, $sygnaturka_szerokosc, $sygnaturka_wysokosc, 0, 0, 85, 80);
  17.  
  18. echo "<img src=\"$obrazek\">";
  19.  
  20. ?>
  21.  
  22. </body></html>


oczywiście nie działa... jak ma to być zrobione żeby pokazywało obrazek questionmark.gif

pozdrawiam
kszychu
Poszukaj w manualu przykładów do funkcji graficznych (np. imagecreatefrompng() ). Tam jest wszystko opisane.
Ważne! Ty nie masz tworzyć linków w stylu <img src=\"$obrazek\">. Możesz mieć statyczne linki w postaci: <img src="obrazek.php?id=5"> i w zależności od tego id skrypt obrazek.php generuje Ci odpowiednią miniaturkę.
bronx
zrobilem to tak i działa:

plik2.php
  1. <?php
  2. $sciezka = "obrazek.jpg";
  3. list($szerokosc, $wysokosc, $type, $attr) = getimagesize($sciezka);
  4. $sygnaturka_nazwa = "sygnaturka.gif";
  5. $sygnaturka = imagecreatefromgif("$sygnaturka_nazwa");
  6. $wgrywany = imagecreatefromjpeg("$sciezka");
  7. $nowy = imagecreatetruecolor($szerokosc, $wysokosc);
  8. imagecopyresampled($nowy, $wgrywany, 0, 0, 0, 0, $szerokosc, $wysokosc, $szerokosc, $wysokosc);
  9. $sygnaturka_wysokosc = $wysokosc - 83;
  10. $sygnaturka_szerokosc = $szerokosc - 88;
  11. $obrazek = ImageCopy($nowy, $sygnaturka, $sygnaturka_szerokosc, $sygnaturka_wysokosc, 0, 0, 85, 80);
  12.  
  13. header("Content-type: image/jpeg");
  14. header("Content-disposition: filename=\"obrazek.jpg\"");
  15.  
  16. imagejpeg($nowy,"", 70);
  17. ImageDestroy($wgrywany);
  18. ImageDestroy($nowy);
  19. ?>


i wstawiam
<html><head></head><body>fotka: <br />
<img src=\"plik2.php\">
</body></html>

tylko teraz mam takie pytanie - da się to jakoś zrobić w JEDNYM pliku ? żeby w jednym pliku było dodanie sygnaturki i wyświetlenie obrazka ?
crash
Za pomocą np. parametru przekazanego w _GET decyduj czy ma się generować grafika czy wyświetlać HTML.
bronx
Cytat(crash @ 2006-02-07 20:56:43)
Za pomocą np. parametru przekazanego w _GET decyduj czy ma się generować grafika czy wyświetlać HTML.

hmmm nie bardzo rozumiem, albo Ty nie zrozumiales mnie smile.gif

chodzi mi o coś takiego:

  1. <?php
  2.  
  3. $sciezka = "obrazek.jpg";
  4. list($szerokosc, $wysokosc, $type, $attr) = getimagesize($sciezka);
  5. $sygnaturka_nazwa = "sygnaturka.gif";
  6. $sygnaturka = imagecreatefromgif("$sygnaturka_nazwa");
  7. $wgrywany = imagecreatefromjpeg("$sciezka");
  8. $nowy = imagecreatetruecolor($szerokosc, $wysokosc);
  9. imagecopyresampled($nowy, $wgrywany, 0, 0, 0, 0, $szerokosc, $wysokosc, $szerokosc, $wysokosc);
  10. $sygnaturka_wysokosc = $wysokosc - 83;
  11. $sygnaturka_szerokosc = $szerokosc - 88;
  12. $obrazek = ImageCopy($nowy, $sygnaturka, $sygnaturka_szerokosc, $sygnaturka_wysokosc, 0, 0, 85, 80);
  13.  
  14. header("Content-type: image/jpeg");
  15. header("Content-disposition: filename=\"obrazek.jpg\"");
  16.  
  17. imagejpeg($nowy,"", 70);
  18. ImageDestroy($wgrywany);
  19. ImageDestroy($nowy);
  20.  
  21. echo "<html><head><title>sygnaturka</title></head>
  22. <body>
  23. <div align="center"><font color="black">Oto fotka z sygnaturką:<br /><br /></font>
  24. <img src=\?questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif?\">
  25. </body></html>";
  26.  
  27. ?>


o cos takiego mi chodzi.. jak dokładnie to zrobić ?
crash
  1. <?php
  2. if( array_key_exists( 'img', $_GET ) )
  3. {
  4.  $sciezka = "obrazek.jpg";
  5.  list($szerokosc, $wysokosc, $type, $attr) = getimagesize($sciezka);
  6.  $sygnaturka_nazwa = "sygnaturka.gif";
  7.  $sygnaturka = imagecreatefromgif("$sygnaturka_nazwa");
  8.  $wgrywany = imagecreatefromjpeg("$sciezka");
  9.  $nowy = imagecreatetruecolor($szerokosc, $wysokosc);
  10.  imagecopyresampled($nowy, $wgrywany, 0, 0, 0, 0, $szerokosc, $wysokosc, $szerokosc, $wysokosc);
  11.  $sygnaturka_wysokosc = $wysokosc - 83;
  12.  $sygnaturka_szerokosc = $szerokosc - 88;
  13.  $obrazek = ImageCopy($nowy, $sygnaturka, $sygnaturka_szerokosc, $sygnaturka_wysokosc, 0, 0, 85, 80);
  14.  
  15.  header("Content-type: image/jpeg");
  16.  header("Content-disposition: filename=\"obrazek.jpg\"");
  17.  
  18.  imagejpeg($nowy,"", 70);
  19.  ImageDestroy($wgrywany);
  20.  ImageDestroy($nowy);
  21.  exit;
  22. }
  23. ?>
  24. <html><head><title>sygnaturka</title></head>
  25. <body>
  26. <div align="center"><font color="black">Oto fotka z sygnaturką:<br /><br /></font>
  27. <img src="<?= $_SERVER[ 'PHP_SELF' ]; ?>?img"/>
  28. </body></html>
bronx
ok, dziala wielkie dzieki crash smile.gif
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.