Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] znaki wodne - jakość
Forum PHP.pl > Forum > PHP
propage
gry skryptem chcę nakladać zdjęcie na zdjęcie (aby tworzyć znaki wodne), używając kodu

  1. $znaczek = ImageCreateFromPng( $config['watermark_src'] );
  2.  
  3. $znaczek_w = imagesx( $znaczek ); // szerokosc znaczka
  4. $znaczek_h = imagesy( $znaczek ); // wysokosc znaczka
  5.  
  6. $image_w = imagesx( $dst ); // szerokosc znaczka
  7. $image_h = imagesy( $dst ); // wysokosc znaczka
  8.  
  9. $od_x = $image_w - $znaczek_w - 10;
  10. //$od_x = 0;
  11. $od_y = $image_h - $znaczek_h - 10;
  12.  
  13. imagecopyresampled( $dst, $znaczek, $od_x, $od_y , 0, 0, $znaczek_w ,$znaczek_h, $znaczek_w, $znaczek_h);


To takie zdjęcie traci na jakości o 10% na oko.
Są jakieś sposoby, aby mimo nakładania zdjęcia na zdjęcie zachować odpowiednią jakość zdjęcia?

Wiem, że istnieją zewnętrzne programy, ale nie wszystkie serwery je obsługują.
maly_swd
z czego robisz: $dst
Czy uzywasz odpowiednio funkcji do tworzenie kanalu alpha?
propage
  1. $dst = imagecreatetruecolor($tnWidth, $tnHeight);
tehaha
na samym końcu Twojego skryptu dodaj jeszcze imagejpeg(), i ustaw w nim parametr jakości na 100, który domyślnie jest na 75
#luq
Cytat(tehaha @ 31.03.2010, 16:28:02 ) *
na samym końcu Twojego skryptu dodaj jeszcze imagejpeg(), i ustaw w nim parametr jakości na 100, który domyślnie jest na 75

Przecież jpeg nie obsługuje kanału alpha.
*.png Panie, *.png.
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.