Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [klasa] resize, watemark, [PHP5] [GD]
gebp
post
Post #1





Grupa: Zarejestrowani
Postów: 180
Pomógł: 6
Dołączył: 10.04.2006

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


Witam.
Moja pierwsza klasa więc proszę o bugi i konstruktywną krytykę ( aha pisanie w PHP to dla mnie rodzaj hobby więc proszę o wyrozumiałość)

O klasie:
1. Pozwala pomniejszać obrazy
2. Pozwala nakładać znak wodny
3. Pozwala na wybór typu pliku ( *.png, *.jpg, *.bmp ) przy zapisie
4. Pozwala na zachowanie proporcji / tego mi brakowało w innych klasach/ . Zmniejsza obraz po podaniu tylko wymaganej szerokości/wysokości lub obu + zachowanie proporcji
5. Obsługuje przeźroczystość (na pewno w *.gif png - dziwny format chętnie posłucham uwag)

P.S.
Do klasy przydało by się (tak sobie myślę) więcej zabezpieczeń głupo-odpornych, ale tak się zastanawiając dalej tego rodzaju klasy są umieszczane raczej wewnątrz skryptów więc zdaje się na osoby które będą używać klasy. Ja sam wole raportowanie błędów w postaci 0 lub 1 szczególnie przy używaniu AJAX'a

Klasa Cphoto.php

Użycie:
  1. <?php
  2. $link="../photo/";
  3. $photo="img1.jpg";  // klasa akceptuje *.jpg, *,png *, *.bmp
  4.  
  5. $photo= new photo()
  6. // ustawienie ppliku źródłowego
  7. $d1=$photo->set_photo($link,$photo);
  8. echo $d1; // ewentualne błędy
  9.  
  10. // Ustwawienie rozmiarów do jakich chcemy zmniejszyć obraz źródłowy
  11. //po kolei:
  12. // miejsce zapisu np: ../photo/pomniejszone/  Ważne katalog musi istnieć
  13. // nazwa pod jaką chcemy zapisać np moje1
  14. //szerokość (x) możemy podać lub "null" jeżeli null plik zostanie zmniejszony proporcjonalnie
  15. // wysokość (y) j.w
  16. //jeżeli podamu oba parametry (x i y) to w zależności od osatniego parametru zostanie zachowana proporcja lub nie
  17. // typ pliku ( png, jpg, bmp, lub null) w przypadku wartości nuul typ pliku będzie taki sam jak plik źródłowy
  18. // 0 lub 1 zachować proporcje ( NIE / TAK) - WAŻNE nie ma znaczenie przy podanym tylko jednym argumencie x lub y
  19.  
  20. $d2=$photo->set_s("../photo/pomniejszone/'', "moje1","500","null","null","0"'); // zachowanie proporcji szerokość 500 px
  21. $d2=$photo->set_s("../photo/pomniejszone/'', "moje2","null","300","bmp","0"); // zachowanie proporcji wysokość 300 px + zapis jako bmp
  22. $d2=$photo->set_s("../photo/pomniejszone/'', "moje3","300","300","null","0"'); // zachowanie proporcji szerokość  Ważne najszersza krawędż obrazka ( x lub y) nie będzie większa niż zadeklarowana
  23. $d2=$photo->set_s("../photo/pomniejszone/'', "moje4","500","500","png","1"); // zachowanie proporcji szerokość 500 px na 500 px na sztywno + zapis jako png
  24.  
  25. echo $d2; // ewentualne błędy
  26.  
  27. //identyczna funkcja dla miniatur działa identycznie , te same arguemty
  28. $d3=$photo->set_m("../photo/miniatury/'', "miniq","100","100","png","1"); // zachowanie proporcji szerokość 100 px na 100 px na sztywno + zapis jako png
  29.  
  30. // ustawienie zanku wodnego (także po środku)
  31. // argumenty (ścieżka, plik, pozycja)
  32. $d4=$photo->set_watemark("/photo/znakwodny/","znakwodny.gif","c") // ustawienie znaku wodnego na środku dostępne (tl, tr, bl, br i c)
  33. echo $d4;  // ewentualne błędy
  34.  
  35. // zmiana rozmiaru po wcześniejszym ustawieniu
  36. // zwraca tablice array(path, file)
  37. $d5=$photo->resize("s"); // zmiana wg ustawień z set_s
  38. $d6=$photo->resize("m"); // zmiana wg ustawień z set_m
  39.  
  40. echo "<img src=".$d5[0].$d5[1]." alt=&#092;"pomniejszony\" /> <br />";
  41. echo "<img src=".$d6[0].$d7[1]." alt=\"miniatura\" /> <br />";
  42.  
  43. //Nakładanie znaku wodnego
  44. //plik źródłowy - ścieżka
  45. //plik źródłowy - nazwa z rozszeżeniem
  46. // katalog docelowy
  47. // nazwa docelowa bez rozszerzenia - plik będzie tego samego rozszerzenia co źródło
  48. // przeźroczystość - dot. wtaemark'ów  zapisanych jako jpg 0- 100% przeźroczysty ; 100 - wogólne nie przeźroczysty(0%)
  49. // zwraca tablice array(path, file)
  50. $d7=$photo->make_watemark("../watemark/","watemark1.jpg","../photo/zznakiem/","moj1zznakiem","50"); //  zapisany jako moj1zznakiem znak w 50 % przeźroczysty
  51.  
  52. echo "<img src=".$d7[0].$d7[1]." alt=\"z znakiem wodnym\" /> <br />";
  53. ?>


Ten post edytował gebp 19.12.2008, 21:44:48
Go to the top of the page
+Quote Post

Posty w temacie


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: 23.09.2025 - 11:47