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

Open source resume templates with JSON-LD (SEO-friendly) support

I don't usually keep track of the projects that I worked on. I have been recently advised to keep resume updated with the projects list. And so I have searched for resume templates and tools. Indian resume Vs International resume During the process, I have found that there are vast differences between the format of Indian resumes and International resumes. Indian resumes are extremely verbose with number of projects, team size, client name, etc. whereas international format is more succinct and short. So I was kind of lost in the process in adopting the template. LinkedIn to the rescue? No. Unfortunately, LinkedIn format is "common" and is not easy to update. Moreover, these days LinkedIn has become signupware [sic] and so accessing resume is a nightmare. Enter JSON Resume JSON Resume is an awesome open source approach for creating resume. I accidentally came across while searching for JSON-LD format for resume. Couple of great features: Resume hosting (op...

Anna Hazare hype, irresponsibile media?

In recent times, barkhagate scam clearly shows that the Indian media is much corrupt than the politicians. They give unnecessary hype to certain things to get TRP . Ever since Anna has gone compared himself with Gandhi and Shivaji , it was clear that he's trying to draw politicians attention. It was a clean tactic than what Medha Patkar or any maoists couldn't get such hype. The TwitGens [sic] can't really understand how a Lokpal (ombudsman) system can even be corrupt; remember that the author of Savaukku did quit from DVAC (Directorate of Vigilance and Anti-Corruption). Economic Times article on this issue shares my views; I don't understand why they couldn't get such views published in Times of India. I think, we can't expect anything good from the media that's vehemently pushing AIADMK. Will Lok Pal be a Super Bureaucrat? Anna Hazare: Was Lok Pal protest compatible with constitutional democracy?

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