Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Facedetector i rozmycie twarzy
Forum PHP.pl > Forum > Przedszkole
in5ane
Hej, mam pytanie. Dlaczego poniższy kod na localhoście (WampServer) pixeluje ten kawałek zdjęcia, a na serwerze firmy kei.pl zamiast pixelate jest coś a'la sepia?

  1. <?php
  2. public function toJpeg()
  3. {
  4. $width_face = $this->face['x'] + $this->face['w'] - $this->face['x'];
  5. $height_face = $this->face['y'] + $this->face['w'] - $this->face['y'];
  6. $image2 = imagecreate($width_face, $height_face);
  7. imagecopy($image2, $this->canvas, 0, 0, $this->face['x'], $this->face['y'], $width_face, $height_face);
  8. imagefilter($image2, IMG_FILTER_PIXELATE, 20);
  9. imagecopy($this->canvas, $image2, $this->face['x'], $this->face['y'], 0, 0, $width_face, $height_face);
  10.  
  11.  
  12. imagejpeg($this->canvas, $this->file_name);
  13. }


Wygląda to tak:


Chciałbym odświeżyć temat, bo wróciłem do poprawki tego. Macie jakiś pomysł? Czy od razu uderzać do KEI.PL czy to może coś u siebie muszę ustawić?
trueblue
A na innym zawodniku też tak działa?smile.gif

A tak serio. Jaka wersja PHP? W dokumentacji piszą, że PIXELATE dopiero od 5.3.0.
in5ane
PHP Version 5.4.20-0+tld0
trueblue
Gdyby się okazało, że nie wiadomo gdzie leży przyczyna, to rozwiązanie zastępcze:
1. Wycinamy kawałek obrazka i wklejamy w obszar X razy mniejszy.
2. Wstawiamy wycinek w obszar X razy większy (na źródło).
in5ane
Nie bardzo zrozumiałem te obrazki/obszary X, jaśniej poproszę tongue.gif
trueblue
  1. imagecopyresampled($area,$source,0,0,$x,$y,$w/$scale,$h/$scale,$w,$h);
  2. imagecopyresampled($source,$area,$x,$y,0,0,$w,$h,$w/$scale,$h/$scale);
in5ane
Dzięki stary smile.gif
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.