Van egy jpg képem, és szeretném lecserélni az összes fehér pixelt feketére. Ezt meg lehet oldani php-val? találtam egy fügvényt ( ), de, igazán sikerült megoldani.
Palettás képnél (pl gif) ki tudod cserélni a paletta bármelyik színét az imagecolorset függvénnyel. Nézd meg a php ide vonatkozó oldalát:
http://hu2.php.net/manual/en/function.imagecolorset.php
Ha nem palettás képnél akarod lecserélni pl a fehéreket, az nehezebb téma, főleg ha nem veszteségmentes tömörítést használ a képformátum (pl jpeg-nél), mert itt a fehér szín nem teljesen egyértelmű RGB színkód szerint (teljesen fehér a (255,255,255) RGB szín, de ettől kicsit eltérő színt is fehérnek látsz a képen.) Ebben az esetben a kép összes pixelének RGB kódját összevetve mondjuk egy bizonyos RGB színtartománnyal kell eldöntened, hogy az adott színt fehérnek tekinted-e és pixelenként kell lecserélned a színeket. A gond evvel az eljárással csak az, hogy ha pl photoshopban megnézed hogy egy jpegnél kiválasztasz egy színtartományt, akkor olyan képpontokat is ki fogsz választani (túl magas tolerancia értéknél) amit nem akartál, vagy (túl alacsony küszöbértéknél) ki fognak maradni olyan pixelek amiket pl fehérnek tekintesz.
Szerintem legjobb ha gid-et használsz ilyen célra.
Én is végignéztem a manulat, de ezt a palettás dolgot nem értettem.
Az a baj, hogy a siteadmin tölti fel a képeket (kizárólag jpg), amiknek általában fehér a hátterük, és ez egy fekete oldalon elég hülyén néz ki. Ezért gondoltam erre a megoldásra, bár gondoltam nem lesz egyszerű.
Sajnos a jpeg, mint veszteséges tömörítő eszköz nem feltétlen fehér színnel jeleníti meg azt amit te fehérnek érzel. És főleg itt a tartalmi rész széleinél lenne probléma, ahol maradna egy "fehér" keret a kép tartalmának széleinél.
Példaként lásd a következő képeket:
van rá fv nem tudom hogy megy ugyan
Azt hiszem a gd könyvtárral manipulálhatsz létező képet is, az ImageCreateFrom() fv.-t kell használni, pontosabbat sajnos nem tudok
üdv
BL
Gif vagy jpeg?
Palettás képnél (pl gif) ki tudod cserélni a paletta bármelyik színét az imagecolorset függvénnyel. Nézd meg a php ide vonatkozó oldalát:
http://hu2.php.net/manual/en/function.imagecolorset.php
Ha nem palettás képnél akarod lecserélni pl a fehéreket, az nehezebb téma, főleg ha nem veszteségmentes tömörítést használ a képformátum (pl jpeg-nél), mert itt a fehér szín nem teljesen egyértelmű RGB színkód szerint (teljesen fehér a (255,255,255) RGB szín, de ettől kicsit eltérő színt is fehérnek látsz a képen.) Ebben az esetben a kép összes pixelének RGB kódját összevetve mondjuk egy bizonyos RGB színtartománnyal kell eldöntened, hogy az adott színt fehérnek tekinted-e és pixelenként kell lecserélned a színeket. A gond evvel az eljárással csak az, hogy ha pl photoshopban megnézed hogy egy jpegnél kiválasztasz egy színtartományt, akkor olyan képpontokat is ki fogsz választani (túl magas tolerancia értéknél) amit nem akartál, vagy (túl alacsony küszöbértéknél) ki fognak maradni olyan pixelek amiket pl fehérnek tekintesz.
Szerintem legjobb ha gid-et használsz ilyen célra.
manulalt néztem én is
Az a baj, hogy a siteadmin tölti fel a képeket (kizárólag jpg), amiknek általában fehér a hátterük, és ez egy fekete oldalon elég hülyén néz ki. Ezért gondoltam erre a megoldásra, bár gondoltam nem lesz egyszerű.
JPEG + Fehér
Példaként lásd a következő képeket: