Am tot cautat pe internet o functie sau clasa care sa transforme o poza 2D in 3D asa cum fac o gramada de programe instalabile pe calculator. Intr-un final m-am lasat pagubas, am incercat sa fac eu un script si iata ce a iesit.
Scriptul ia imaginea (in exemplul de fata o imagine PNG) si ii aplica pe rand un filtru rosu si verde-albastru. Apoi salveaza cate o imagine pentru fiecare filtru. Este un script facut pe fuga, am vrut doar sa-mi demonstrez ca se poate converti o imagine 2D in 3D cu PHP. Scriptul are nevoie de imbunatatiri, functia imagecopymerge() reduce din calitatea imaginilor.
<?php
// versiunea rosie a imaginii (ochiul stang)
$im_red = imagecreatefrompng('happy-young-friends-31f743.png');
imagefilter($im_red, IMG_FILTER_COLORIZE, 255, 0, 0);
imagefilter($im_red, IMG_FILTER_BRIGHTNESS, 20);
imagepng($im_red, 'happy-young-friends-31f743-red.png',9);
imagedestroy($im_red);
// versiunea verde-albastru (ochiul drept)
$im_cyan = imagecreatefrompng('happy-young-friends-31f743.png');
imagefilter($im_cyan, IMG_FILTER_COLORIZE, 0, 255, 255);
imagepng($im_cyan, 'happy-young-friends-31f743-cyan.png',9);
imagedestroy($im_cyan);
// combinam imaginile
$im_src = imagecreatefrompng('happy-young-friends-31f743-cyan.png');
$im_dest = imagecreatefrompng('happy-young-friends-31f743-red.png');
imagecopymerge($im_dest, $im_src, -30, 0, 0, 0, 500, 332, 40);
header('Content-Type: image/png');
imagepng($im_dest);
imagedestroy($_imsrc);
imagedestroy($im_dest);
Mai jos este o poza transformata din 2D in 3D cu scriptul meu si apoi transformata cu 2D to 3D RedBlue Converter v2.5.
Astept sugestii si recomandari pentru imbunatatirea script-ului.
PS. stiti ca aveti nevoie de ochelari cu o lentila rosie si una albastra, da?