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

Technology prediction for 2018

Bubbles of bitcoin, blockchain, machine learning, deep learning, artificial intelligence and more People usually appreciate me for my predictions on technologies. As I already noted our team will quickly hit the edge case for any use cases and that's supposed to be the reason for my better prediction rate. And so, here are my predictions… Bitcoin bubble When Bitcoin became talk of the town/industry, I informed my boss and colleagues that I find no real use case for this digital currency--except in underground markets like drugs, etc. In fiat currencies, there is at least a way to take legal route, in case, if you've transferred the money and not received the goods. But, in Bitcoin, this is not possible at all as it is not a legal currency. So, if there is no trust, the chances that other person can cheat you by not sending the goods and or not transferring bitcoins after receiving goods. My stand above vindicated by the article Ten years in, nobody has come up with a...

Did Evolution Undermine Motherhood—or Are We Simply Expecting Too Much from Mothers?

There’s an old saying that, 50 years ago, babies in South India would take 40 days to open their eyes—while today, they open them within minutes. Similarly, people used to believe that breastfeeding worked as a natural family planning method for up to five years about a century ago, but now, they say evolution has overridden that too. Along those lines, I wonder—has evolution diminished motherhood itself, or have we simply misunderstood and overburdened it? Although I don’t actively follow the news much these days, I still come across troubling stories—particularly from Tamil Nadu—where mothers have harmed or even killed their own children. In one viral video, a husband explains how his wife, addicted to Instagram reels, finds it too inconvenient to feed their child and calls him during work hours to do it instead. It raises a disturbing question: Are some Tamil mothers starting to see their own children as burdens—or is it the act of caregiving that feels burdensome? Perhaps bo...

Teachers' Kids: The Topper Syndrome

Tao Te Ching Fill your bowl to the brim and it will spill. Keep sharpening your knife and it will blunt. Chase after money and security and your heart will never unclench. Care about people's approval and you will be their prisoner. Do your work, then step back. The only path to serenity.