Posiadam funkcje do nakładania znaku wodnego.
Problem w tym, że jak chce użyć znaku wodnego PNG 24 (z photoshopa) to źle sioęon wyświetla. Jakieś szlacki się pokaują zamiast znaku.
Co mogę zrobic, żeby działały te pliki? Czy któreś funkcje są źle użyte?
Czy jakąś funkcje muszę zamienić na inną?
//$zdjecie - na to zdjecie bedzie wklejany znak wodny //$zdjecie_format - format tego djecia //$znaczek - znak wodny //$znaczek_format - format pliku znaku wodnego function znak_wodny($zdjecie, $zdjecie_format, $znaczek, $znaczek_format, $pozycja, $transparent, $znak_pozycja_pion=0, $znak_pozycja_poziom=0) { switch($znaczek_format) {// importujemy plik gif ze znakiem case 'gif': $image1 = imageCreateFromGif($znaczek); break; case 'png': $image1 = imageCreateFromPng($znaczek); break; } switch($zdjecie_format) {// otwieramy plik jpg, na którym ma być naklejony znaczek case 'jpg': $image2 = ImageCreateFromJpeg($zdjecie); break; case 'gif': $image2 = ImageCreateFromGif($zdjecie); break; case 'png': $image2 = ImageCreateFromPng($zdjecie); break; } $zdjecie_w = imagesx( $image2 ); // szerokość pliku $zdjecie_h = imagesy( $image2 ); // wysokość pliku $znaczek_w = imagesx( $image1 ); // szerokość znaczka $znaczek_h = imagesy( $image1 ); // wysokość znaczka if ( $pozycja == "tl" ) { $od_x = $znak_pozycja_poziom;//ok $od_y = $znak_pozycja_pion; //ok } if ( $pozycja == "tr" ) { $od_x = $zdjecie_w - $znaczek_w - $znak_pozycja_poziom;//ok $od_y = $znak_pozycja_pion;//ok } if ( $pozycja == "bl" ) { $od_x = $znak_pozycja_poziom;//ok $od_y = $zdjecie_h - $znaczek_h - $znak_pozycja_pion; //ok; } if ( $pozycja == "br" ) { $od_x = $zdjecie_w - $znaczek_w - $znak_pozycja_poziom;//ok $od_y = $zdjecie_h - $znaczek_h - $znak_pozycja_pion; //ok } //begin center if ( $pozycja == "cl" ) { //NIE $od_x = $znak_pozycja_poziom;//ok $od_y = ($zdjecie_h/2)-($znaczek_h/2);//ok chyba } if ( $pozycja == "cr" ) { //NIE $od_x = $zdjecie_w - $znaczek_w - $znak_pozycja_poziom;//ok $od_y = ($zdjecie_h/2)-($znaczek_h/2);//ok chyba } if ( $pozycja == "bc" ) { //NIE $od_x = ($zdjecie_w/2)-($znaczek_w/2);//ok chyba $od_y = $zdjecie_h - $znaczek_h - $znak_pozycja_pion;//ok } if ( $pozycja == "tc" ) { //NIE $od_x = ($zdjecie_w/2)-($znaczek_w/2);//ok chyba $od_y = $znak_pozycja_pion;//ok } if ( $pozycja == "cc" ) { //NIE $od_x = ($zdjecie_w/2)-($znaczek_w/2);//ok chyba $od_y = ($zdjecie_h/2)-($znaczek_h/2);//ok chyba } //end center imagecopymerge( $image2, $image1, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h, $transparent ); //imagejpeg( $image2 ); switch($zdjecie_format) { case 'jpg': ImageJpeg($image2, $zdjecie, 70);//poziom kompresji 80 break; case 'gif': ImageGif($image2, $zdjecie); break; case 'png': ImagePng($image2, $zdjecie); break; } imagedestroy( $image1 ); imagedestroy( $image2 ); }
Prosze o pomoc, mam z tym duży problem
