note 43557 added to function.imagewbmp

From: Date: Fri, 25 Jun 2004 12:07:32 +0000
Subject: note 43557 added to function.imagewbmp
Groups: php.notes 
Request: Send a blank email to php-notes+get-71662@lists.php.net to get a copy of this message
Easy convert jpeg(16bit color) => jpeg(2 color) <? // otwieranie obrazka $img = imagecreatefromjpeg($plik) ; // pobieranie rozmiaru obrazka $szerokosc_img = ImageSX($img) ; $wysokosc_img = ImageSY($img) ; // pobranie do tablicy indexu kolorow z obrazka $tablica = array() ; $a = 0 ; for($i=0; $i<$wysokosc_img; $i++) { for($j=0;$j<$szerokosc_img; $j++) { $tablica[$a] = imagecolorat($img, $j, $i) ; $a++ ; } } sort($tablica) ; // usuniecie powtarzajacych sie elementow $tablica = array_unique($tablica) ; // wyznaczenie granicy kolorow $granica = $tablica[(count($tablica)/2)] ; ; if($granica == ""||$granica == 0) $granica = 14000000 ; // konwersja obrazka do 2 kolorow $obrazek = "" ; for($i=0; $i<$wysokosc_img; $i++) { for($j=0;$j<$szerokosc_img; $j++) { $wartosc = ImageColorAt($img, $j, $i); if($wartosc <$granica) { $obrazek .= "1" ; } else { $obrazek .= "0" ; } } } // zmienna obrazek zawiera kod obrazka w postaci binarnej .. header("Content-Type: image/jpeg"); $obraz = ImageCreate($szerokosc, $wysokosc) ; $kolor_tla = ImageColorAllocate($obraz, 255, 255, 255) ; $kolor = ImageColorAllocate($obraz, 0, 0, 0) ; // black ImageFill($obraz, 1, 1, $kolor_tla) ; for($i=0;$i<($wysokosc+1);$i++) { for($j=0; $j<($szerokosc+1); $j++) { $miejsce = ($i*$szerokosc)+$j ; $punkt = substr($obrazek,$miejsce,1) ; if($punkt == "1") { imagesetpixel($obraz, $j, $i, $kolor) ; } } } ImageJPEG($obraz) ; ImageDestroy($obraz) ; ?> ---- Manual Page -- http://www.php.net/manual/en/function.imagewbmp.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+43557 Delete -- http://master.php.net/manage/user-notes.php?action=delete+43557&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+43557&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#71662) next »