![]() |
PNG/Alpha/GD - Wersja do druku +- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl) +-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www) +--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster) +--- Wątek: PNG/Alpha/GD (/thread-png-alpha-gd) |
PNG/Alpha/GD - Radian - 15-12-2009 Za pomocą biblioteki GD, zmniejszam wielkość obrazków uploadując je na serwer. Gdy użytkownik uploaduje png, kanał alpha zmienia się w kolor czarny, nie mogę tego naprawić! Szukałem na forach itd. lecz nic nie pomaga ![]() RE: PNG/Alpha/GD - dziamber - 15-12-2009 Masz na myśli zmniejszanie rozmiarów (wysokość i szerokość) czy i wielkość np. w bajtach lub megabajtach? RE: PNG/Alpha/GD - Radian - 15-12-2009 wysokość i szerokość RE: PNG/Alpha/GD - BeamBear - 16-12-2009 RE: PNG/Alpha/GD - Radian - 18-12-2009 Jeśli masz pewność, że to zadziała, to wezmę się znowu za to i będę próbował, jednak martwi mnie fakt, że już to wykonywałem. Gdyby coś nie działało, przekleję tutaj swój kod z nadzieją że koledzy pomogą ![]() RE: PNG/Alpha/GD - BeamBear - 18-12-2009 logika takiego skryptu jest stosunkowo prosta: - ustalasz sobie wymiary pomniejszonego obrazka - pobierasz obrazek i jego wymiary - tworzysz nowy obrazek z użyciem wcześniej ustalonych wymiarów pomniejszenia (imagecreatetruecolor) - stosujesz obie funkcje, które Ci podałem - imagecopyresampled i hajda headerem do przeglądarki ![]() RE: PNG/Alpha/GD - Radian - 19-12-2009 Problem rozwiązany, podaję gotowca poniżej: if($rozszerzenie == 'png' ){ imagealphablending($img_mini, false); imagesavealpha($img_mini, true); $transparent = imagecolorallocatealpha($img_mini, 255, 255, 255, 127); imagefilledrectangle($img_mini, 0, 0, $width_mini, $height_mini, $transparent); imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width , $height); imagepng($img_mini, 'img/forum_avatar/'.$nazwa.'.'.$rozszerzenie.''); } |