Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3422
  • Last Modified:

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
0
MatthewL
Asked:
MatthewL
  • 6
  • 5
1 Solution
 
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
 
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
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
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
 
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
 
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.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now