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.phpUżycie:
<?php
$link="../photo/";
$photo="img1.jpg"; // klasa akceptuje *.jpg, *,png *, *.bmp
$photo= new photo()
// ustawienie ppliku źródłowego
$d1=$photo->set_photo($link,$photo);
echo $d1; // ewentualne błędy
// Ustwawienie rozmiarów do jakich chcemy zmniejszyć obraz źródłowy
//po kolei:
// miejsce zapisu np: ../photo/pomniejszone/ Ważne katalog musi istnieć
// nazwa pod jaką chcemy zapisać np moje1
//szerokość (x) możemy podać lub "null" jeżeli null plik zostanie zmniejszony proporcjonalnie
// wysokość (y) j.w
//jeżeli podamu oba parametry (x i y) to w zależności od osatniego parametru zostanie zachowana proporcja lub nie
// typ pliku ( png, jpg, bmp, lub null) w przypadku wartości nuul typ pliku będzie taki sam jak plik źródłowy
// 0 lub 1 zachować proporcje ( NIE / TAK) - WAŻNE nie ma znaczenie przy podanym tylko jednym argumencie x lub y
$d2=$photo->set_s("../photo/pomniejszone/'', "moje1","500","null","null","0"'); // zachowanie proporcji szerokość 500 px
$d2=$photo->set_s("../photo/pomniejszone/'', "moje2","null","300","bmp","0"); // zachowanie proporcji wysokość 300 px + zapis jako bmp
$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
$d2=$photo->set_s("../photo/pomniejszone/'', "moje4","500","500","png","1"); // zachowanie proporcji szerokość 500 px na 500 px na sztywno + zapis jako png
echo $d2; // ewentualne błędy
//identyczna funkcja dla miniatur działa identycznie , te same arguemty
$d3=$photo->set_m("../photo/miniatury/'', "miniq","100","100","png","1"); // zachowanie proporcji szerokość 100 px na 100 px na sztywno + zapis jako png
// ustawienie zanku wodnego (także po środku)
// argumenty (ścieżka, plik, pozycja)
$d4=$photo->set_watemark("/photo/znakwodny/","znakwodny.gif","c") // ustawienie znaku wodnego na środku dostępne (tl, tr, bl, br i c)
echo $d4; // ewentualne błędy
// zmiana rozmiaru po wcześniejszym ustawieniu
// zwraca tablice array(path, file)
$d5=$photo->resize("s"); // zmiana wg ustawień z set_s
$d6=$photo->resize("m"); // zmiana wg ustawień z set_m
echo "<img src=".$d5[0].$d5[1]." alt=\"pomniejszony\" /> <br />";
echo "<img src=".$d6[0
].$d7[1]." alt=\"miniatura\" /> <br />";
//Nakładanie znaku wodnego
//plik źródłowy - ścieżka
//plik źródłowy - nazwa z rozszeżeniem
// katalog docelowy
// nazwa docelowa bez rozszerzenia - plik będzie tego samego rozszerzenia co źródło
// przeźroczystość - dot. wtaemark'ów zapisanych jako jpg 0- 100% przeźroczysty ; 100 - wogólne nie przeźroczysty(0%)
// zwraca tablice array(path, file)
$d7=$photo->make_watemark("../watemark/","watemark1.jpg","../photo/zznakiem/","moj1zznakiem","50"); // zapisany jako moj1zznakiem znak w 50 % przeźroczysty
echo "<img src=".$d7[0
].$d7[1]." alt=\"z znakiem wodnym\" /> <br />"; ?>
Ten post edytował gebp 19.12.2008, 21:44:48