Algorithms :: Imaging :: tiff to jpg |
|||
| By: roe1and |
Date: 03/12/2007 14:46:56 |
Points: 20 | Status: Answered Quality : Excellent |
| this is probably a stupid question, won't stop me from asking though. Can php convert tiff images to jpg? and if yes, how? | |||
| By: VGR | Date: 03/12/2007 16:36:37 | Type : Answer |
|
| no stupid question. here, I reproduce the PHP maual entry of "Image functions" (dedicated to the gd library). You may this useful ;-) Say thanks to this nice Portuguese guy. to be read in here
<?php function cmyk2rgb($file) { $mgck_wnd = NewMagickWand(); MagickReadImage($mgck_wnd, $file); $img_colspc = MagickGetImageColorspace($mgck_wnd); if ($img_colspc == MW_CMYKColorspace) { echo "$file was in CMYK format<br />"; MagickSetImageColorspace($mgck_wnd, MW_RGBColorspace); } MagickWriteImage($mgck_wnd, str_replace('.', '-rgb.', $file)); } function tiff2jpg($file) { $mgck_wnd = NewMagickWand(); MagickReadImage($mgck_wnd, $file); $img_colspc = MagickGetImageColorspace($mgck_wnd); if ($img_colspc == MW_CMYKColorspace) { echo "$file was in CMYK format<br />"; MagickSetImageColorspace($mgck_wnd, MW_RGBColorspace); } MagickSetImageFormat($mgck_wnd, 'JPG' ); MagickWriteImage($mgck_wnd, str_replace('.tif', '.jpg', $file)); } function to300dpi($file) { $mgck_wnd = NewMagickWand(); MagickReadImage($mgck_wnd, $file); $img_units = MagickGetImageUnits($mgck_wnd); switch ($img_units) { case MW_UndefinedResolution: $units= 'undefined'; break; case MW_PixelsPerInchResolution: $units= 'PPI'; break; case MW_PixelsPerCentimeterResolution: $units= 'PPcm'; break; } list($x_res, $y_res) = MagickGetImageResolution($mgck_wnd); echo "$file<br /> x_res=$x_res $units - y_res=$y_res $units<br />"; if($x_res == 300 && $y_res == 300 && $img_units == MW_PixelsPerInchResolution) {return; } MagickSetImageResolution($mgck_wnd, 300 , 300); MagickSetImageUnits($mgck_wnd, MW_PixelsPerInchResolution); MagickWriteImage($mgck_wnd, str_replace('.', '-300.', $file)); } $file='photos/test-cmyk.tif'; //this is a TIFF file in CMYK format with a 96 DPI resolution cmyk2rgb($file); $file = str_replace('.', '-rgb.', $file); to300dpi($file); $file = str_replace('.', '-300.', $file); tiff2jpg($file); $file = str_replace('.tif', '.jpg', $file); to300dpi($file); /* no file name changes as ImageMagick reports 300 DPIs $file = str_replace('.', '-300.', $file); */ list($width, $height, $type, $attr) = getimagesize($file); $width = $width/3; $height = $height/3; echo "<img src=\"http://localhost/$file\" width=\"$width\" height=\"$height\" alt=\"getimagesize() example\" />"; echo "<br />$file => width=$width - height=$height - type=$type - attr=$attr<br /><br />"; $file='photos/test-rgb.tif'; //this is a TIFF file in RGB format with a 96 DPI resolution cmyk2rgb($file); $file = str_replace('.', '-rgb.', $file); to300dpi($file); $file = str_replace('.', '-300.', $file); tiff2jpg($file); $file = str_replace('.tif', '.jpg', $file); to300dpi($file); /* no file name changes as ImageMagick reports 300 DPIs $file = str_replace('.', '-300.', $file); */ list($width, $height, $type, $attr) = getimagesize($file); $width = $width/3; $height = $height/3; echo "<img src=\"http://localhost/$file\" width=\"$width\" height=\"$height\" alt=\"getimagesize() example\" />"; echo "<br />$file => width=$width - height=$height - type=$type - attr=$attr<br /><br />"; ?> Note - Although ImageMagick correctly sets JPEG files resolution to 300 DPIs, some programs might not notice it. HTH |
|||
|
Do register to be able to answer |
|||
©2010 These pages are served without commercial sponsorship. (No popup ads, etc...). Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE.
Please DO link to this page!








