Gdlib og farveprofil
Hej eksperter,har lige et spørgsmål vedr. GDlib!
Jeg sidder med et værktøj til fugefarver hvor man har en murstenstavle man så kan tjekke fugefarver på.
På selve tavlen er fugen klippet væk og istedet bliver der så lagt en hel flade bagpå.
Billedet bliver generet udfra 2 png'er.. selve tavlen og så farven og bliver der efter samlet i en jpg.
MEN - der er som om at farveprofilen ryger. png'en er gemt i sRGB, men jpg'en har ikke denne.. og farven er en smule forkert.
Så mit spørgsmål er så: Er det gdlib der smider farveprofilen væk og kan den i så fald beholde den? Eller er det PHP scriptet der er vrøvl med?
--- KODE ---
if (file_exists("/www/randerstegl.dk/web/fugefarver/GFXSharedProdThumbs/".$theTile.".png")) {
$webroot = "/www/randerstegl.dk/web";
$webpath = "/fugefarver/GFXSharedGeneratedProdThumbs/".$theTile."-".$theMortarColour.$theFilenameSuffix.".jpg";
$theDestinationDirectory = $webroot."/fugefarver/GFXSharedGeneratedProdThumbs/";
$theDestinationImageFilename = $theDestinationDirectory.$theTile."-".$theMortarColour.$theFilenameSuffix.".jpg";
$theMortarColourFilename = "/www/randerstegl.dk/web/fugefarver/GFXSharedMortars/fuge".$theMortarColour.".png";
$theTileFilename = "/www/randerstegl.dk/web/fugefarver/GFXSharedProdThumbs/".$theTile.".png";
$theImageData = getImageSize($theTileFilename);
$theSourceImagesXSize = $theImageData[0];
$theSourceImagesYSize = $theImageData[1];
if (!file_exists($theDestinationImageFilename)) {
$theBackgroundImage = imagecreatefrompng($theMortarColourFilename);
$theTileImage = imagecreatefrompng($theTileFilename);
imagecopy($theBackgroundImage,$theTileImage,0,0,0,0,$theSourceImagesXSize,$theSourceImagesYSize);
$theDestinationImage = imagecreatetruecolor($theOutputXSize,$theOutputYSize);
imagecopyresampled($theDestinationImage,$theBackgroundImage,0,0,0,0,$theOutputXSize,$theOutputYSize,$theSourceImagesXSize,$theSourceImagesYSize);
imagejpeg($theDestinationImage,$theDestinationImageFilename,$theOutputQuality);
imagedestroy($theBackgroundImage);
imagedestroy($theTileImage);
imagedestroy($theDestinationImage);
}
return $webpath;
} else {
return FALSE;
}
