Mam dwie funkcje.. jedna tworzy miniaturkę zdjęcia, druga nakłada znak wodny..
Czy jeżeli najpierw stworzę miniaturkę a później drugą osobną funkcją nałoże na niego znak wodnym, to czy nie jest tak, że dwukrotnie kompresuje obrazek jpg?
Funkcja, kórą tworzę znak wodny na obrazek:
switch($znaczek_format) {// importujemy plik 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 switch($pozycja) { okreslam pozycje znaku wodnego } imagecopymerge( $image2, $image1, $od_x, $od_y, 0, 0, $znaczek_w, $znaczek_h, $transparent );
Czy w ten sposób nie psuje jakości zdjęcia? Czy znak wodny lepiej nałożyć w trakcie tworzenia miniaturki, kiedy mam do niego uchwyt jeszcze przed kompresją..?