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
LVL 1
MatthewLAsked:
Who is Participating?
 
BatalfCommented:
The reason to use Alchemy instead of ImageMagick are:

* Alchemy process imageconvertion faster than ImageMagick.
* ImageMagick seems to have problems with some image-formats. We experienced some problems converting eps-files created in a program called "Freehand". The problem was some font files which wasn't a part of the ImageMagick software. When we installed Alchemy, convertion of eps from freehand worked in both Alchemy and Freehand.

I think that ImageMagick is a good choice if you're not dealing with very large images, like eps-images on 20-30 MB.

Batalf
0
 
lokeshvCommented:
check this ..

http://www.phpbuilder.com/columns/rasmus19990124.php3


Hope it helps...

Lk
0
 
MatthewLAuthor Commented:
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
0
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

 
BatalfCommented:
I have used imagemagick for windows

exec("convert originalImage.tif copy.gif");

Then you have a copy of "originalImage.tif" stored in "copy.gif"
0
 
BatalfCommented:
But maybe you need the path to "convert.exe" on windows-platform.

Try to use relative path to convert.exe

exec("../relativePath/convert originalImage.tif copy.gif");
0
 
MatthewLAuthor Commented:
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




0
 
BatalfCommented:
On windows, I just installed the binary software from ftp://ftp.nluug.nl/pub/ImageMagick/binaries/ . Then I executed exec("../relativePath/convert.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

0
 
MatthewLAuthor Commented:
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
0
 
MatthewLAuthor Commented:
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).
0
 
BatalfCommented:
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.



0
 
MatthewLAuthor Commented:
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
0
 
BatalfCommented:
Thanks for the points.

Eps = "Encapsulated PostScript" = Postscript-image.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.