MatthewL
asked on
TIFF Support in PHP
I am looking to read in a TIFF image and serve up a section of it as a GIF,JPG, or PNG to the browser. I have gd setup and working but need to know if TIFF is supported (It doesn't seem to be). If it isn't what external packages can I add in? I have looked at ImageMagick, but I seem to need to run it from Exec() or PassThru() which don't work well for Windows. My environment is Windows 2000 Server, Apache 1.3, and PHP 4.2
Thanks,
Matt
Thanks,
Matt
ASKER
Hi lokeshv,
Thanks for the link ... I must be misunderstanding it though. It appears to be about generating TTF's. Am I missing something?
Matt
Thanks for the link ... I must be misunderstanding it though. It appears to be about generating TTF's. Am I missing something?
Matt
I have used imagemagick for windows
exec("convert originalImage.tif copy.gif");
Then you have a copy of "originalImage.tif" stored in "copy.gif"
exec("convert originalImage.tif copy.gif");
Then you have a copy of "originalImage.tif" stored in "copy.gif"
But maybe you need the path to "convert.exe" on windows-platform.
Try to use relative path to convert.exe
exec("../relativePath/conv ert originalImage.tif copy.gif");
Try to use relative path to convert.exe
exec("../relativePath/conv
ASKER
Hi Batalf,
I have been successful using exec() and passthru() on some simple programs (e.g. passthru("net view")), but haven't been successful in launching a more involved program. ImageMagick would be a good solution if I can get it to work. What did you need to setup on your system? Do you know how to get convert() to give me a slice of the image?
Thanks,
Matt
I have been successful using exec() and passthru() on some simple programs (e.g. passthru("net view")), but haven't been successful in launching a more involved program. ImageMagick would be a good solution if I can get it to work. What did you need to setup on your system? Do you know how to get convert() to give me a slice of the image?
Thanks,
Matt
On windows, I just installed the binary software from ftp://ftp.nluug.nl/pub/ImageMagick/binaries/ . Then I executed exec("../relativePath/conv ert.exe... ") on it. But remember to use relative path to convert.exe.
To crop the image(get a slice of it), you could use the parameter -crop
For more information about crop, look at
http://www.imagemagick.org/www/convert.html
If you're willing to pay for the software, Alchemy Software from www.handmadesw.com is probably even better than ImageMagick. It's faster and supports more image-formats. But: ImageMagick is also good!
Batalf
To crop the image(get a slice of it), you could use the parameter -crop
For more information about crop, look at
http://www.imagemagick.org/www/convert.html
If you're willing to pay for the software, Alchemy Software from www.handmadesw.com is probably even better than ImageMagick. It's faster and supports more image-formats. But: ImageMagick is also good!
Batalf
ASKER
Hi Batalif,
I will try ImageMagick again. I also did a quick check on Alchemy, but they want $2.5K for the server license, which seems a little steep to me. Have you noticed any runtime lags with ImageMagick that would move me toward a solution like Alchemy?
Matt
I will try ImageMagick again. I also did a quick check on Alchemy, but they want $2.5K for the server license, which seems a little steep to me. Have you noticed any runtime lags with ImageMagick that would move me toward a solution like Alchemy?
Matt
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Hi Batallf,
Sounds like I might end up going to Alchemy (my files are 1-2G). I think I will start with ImageMagick and prove that the run time is unacceptable first. I am thinking this way as the slices will be small, and the large images can sit in memory on the server. I notice in your profile you have a Java background. Is there a PHP equivalent to EJBs? I am thinking perhaps DCOM, but don't want to miss an obvious choice.
Thanks,
Matt
I have also been looking at ImageMagick and it appears that convert() will not allow me to pipe. Is that correct?
(I want to avoid file creation).
Sounds like I might end up going to Alchemy (my files are 1-2G). I think I will start with ImageMagick and prove that the run time is unacceptable first. I am thinking this way as the slices will be small, and the large images can sit in memory on the server. I notice in your profile you have a Java background. Is there a PHP equivalent to EJBs? I am thinking perhaps DCOM, but don't want to miss an obvious choice.
Thanks,
Matt
I have also been looking at ImageMagick and it appears that convert() will not allow me to pipe. Is that correct?
(I want to avoid file creation).
There has been a while since I worked with Java, I don't think php have anything like javas EJB(Enterprise Java Beans).
But I know that ImageMagick has become a part of the php-library "pear" (http://pear.php.net). So that could be a choice. ( I haven't used pear yet though).
About pipe:
What do you mean by that you want to avoid file creation? When you use ImageMagick or Alchemy, the converted file has to be stored into a file. Please explain if I'm way of.
But I know that ImageMagick has become a part of the php-library "pear" (http://pear.php.net). So that could be a choice. ( I haven't used pear yet though).
About pipe:
What do you mean by that you want to avoid file creation? When you use ImageMagick or Alchemy, the converted file has to be stored into a file. Please explain if I'm way of.
ASKER
Hi Batalf,
I thought the EJB question would be worth a try. You have long before earned your points however. I will look into pear.
By pipe I mean I want take the stdout of one program and use it as the stdin of the next.
e.g. I have the following in an old solution.
ImageStream.exe -bunchOParams -targa $file | cjpeg.exe -targa
An image is streamed in targa format to stdin of cjpeg which then converts to a jpeg for me and it's stdout goes directly to my browser.
I would like to do a simular solution with convert, but it doesn't seem to support it. If you know of source code for convert I could hack it though.
P.S. what is a eps file? (just curious)
thanks,
Matt
I thought the EJB question would be worth a try. You have long before earned your points however. I will look into pear.
By pipe I mean I want take the stdout of one program and use it as the stdin of the next.
e.g. I have the following in an old solution.
ImageStream.exe -bunchOParams -targa $file | cjpeg.exe -targa
An image is streamed in targa format to stdin of cjpeg which then converts to a jpeg for me and it's stdout goes directly to my browser.
I would like to do a simular solution with convert, but it doesn't seem to support it. If you know of source code for convert I could hack it though.
P.S. what is a eps file? (just curious)
thanks,
Matt
Thanks for the points.
Eps = "Encapsulated PostScript" = Postscript-image.
Eps = "Encapsulated PostScript" = Postscript-image.
http://www.phpbuilder.com/columns/rasmus19990124.php3
Hope it helps...
Lk