Skip to main content

Converting PSD with PHP/ImageMagick

After seeing feature rich options in Imagick PECL extension at Mikko Koppanen's (the author) website and also impressed with ImageMagick's features, I have decided to use it for the PSD to XHTML conversion website that I'm architecting and managing.

Since, the team wants programming help for converting PSD images, I have tried it (documentation is sparse on PSD handling)

Converting PSD to PNG/JPEG/etc


Note that, flattenImages() is needed for layered/multi-page PSD file.


<?php
$im = new Imagick('test.psd');
$im->flattenImages();
$im->setImageFormat('png');
$im->writeImage('test.png');
?>



Extracting PSD layers


One by one



<?php
$im = new Imagick('test.psd');
$im->setImageFormat('png');
for ($i = 0, $num_layers = $im->getNumberImages(); $i < $num_layers; ++$i) {
$im->setImageIndex($i);
$im->writeImage('layer' . $i . '.png');
}
?>


Note that, there is a better version below

In a single call with writeImages()



<?php
$im = new Imagick('test.psd');
$im->setImageFormat('png');
$im->writeImages('layer%d.png', true);
?>


Note: Second parameter of writeImages() is for adjoin

Bug

While doing so and comparing with the results of XnView, I have noted a same problem/issue as mentioned here in the forum--that is, most of the extracted layers/images are distorted. By the way, I have tried in WAMP and yet to try it in LAMP

Comments

Rinto Geroge said…
Great work Rajesh ,Thanks anyway
Rinto said…
Rajesh,I am experiencing some problem while exporting psd to png ,looses the resolution .Actually I converted 500 dpi psd to png ,but got 72 dpi png .How can keep the resolution ?
Rinto:

After second thought, you'd be better off with the command line "convert" instead of this extension

Popular posts from this blog

Humble Award - Dr. A.N. Sreevatsan

Dr. A.N. Sreevatsan , ENT specialist located in Adyar, Chennai is one of the gems available in medicines. No assistants in his consulting room and he'd take at least 15mins for every patients. So far I have referred many and all are happy with his approach. Every wannabe doctor should visit him personally to understand his approach. I wish him to be more famous than now. Update (2010-11-21) : Added link to Google Map Keywords : Sreevatsan, Srivatsan, ENT, Adyar, Chennai, Hospital, Doctor

Vodafone India privacy problem: exposes phone numbers

Vodafone India is exposing website surfer/user's phone number to the partner website when using mobile data plan. It might be offering hidden API to those partner websites to uniquely identify users. I have noticed it around 1-year before, thought about blogging, but forgot it at that time. Now, I have got some time and so thought of explaining the issue. How I noticed the issue? Sometime ago, I've bought SanDisk microSD card. In the wrapper, they've mentioned about some offer about hungama (Still available in SanDisk website at www.sandisk.in/campaign/landing/hungama/offer_three). The URL mentioned was offers.hungama.com/sandisk3/ and when I opened that in my mobile browser, it was prompting with Welcome, 91-98XXXXXXXX . Phone number leaked by Vodafone India I was shocked as I never seen anything like that before. So, I immediately opened the same URL in my desktop browser and got completely different page: Desktop version of the same page And, aga...

How to pronounce Opera

To my knowledge, most of the people here in India pronounce Opera as Oh-pe-raah. Some software professionals just started a new version of pronunciation: Oh-pey-raah. Because of the confusion, I decided to ask the Opera developers. To my surprise, they told me the right pronunciation of Opera is the first one in http://www.answers.com/opera That is, the right pronunciation is AH-per-ah Links News:1120107680.833631.5510@g44g2000cwa.googlegroups.com How to pronounce Opera? Opera pronunciation (first audio file) Opera Web Browser