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

The Overrated Tamil Culture

Since the COVID period, I developed an interest in exploring old books from the 1700s to the 1900s through Google Books. I first focused on the celebrated Protestant missionary Ringeltaube, but over time, my curiosity expanded toward understanding the demographics and social practices of that era. In Tamil Nadu, what is often celebrated as "Tamil Culture" revolves around the practice of monogamy, known locally as à®’à®°ுவனுக்கு à®’à®°ுத்தி — meaning one woman for one man. Some even compare this tradition with practices in other states, claiming Tamil culture is especially unique. This sense of pride is particularly strong around Madurai, where people often refer to themselves as “pure Tamil” when compared with neighboring regions like Kanyakumari, whose people they call Malayalis. What’s striking, though, is that this proud image doesn’t always align with historical accounts. A book published in 1885 (I’ve chosen not to mention its title or link to avoid stirring controversy) ma...

Malayalis may not have valued Nedumudi Venu, but ChatGPT did

Back in the late 1980s (exactly in 1988, according to some searches)—there was a much-loved Malayalam serial called Mandan Kunju . Ever since then, our family developed a deep appreciation for Nedumudi Venu. His acting was often compared to that of Sivaji Ganesan, who was widely celebrated at the time. There were even debates about how Nedumudi was surpassing Sivaji with his unmatched natural style. Even in his 30s, Nedumudi would appear with grey hair, convincingly portraying elderly characters. About 35 years ago, I happened to watch a film in which Nedumudi Venu actually played the lead role—something quite rare in his career. I couldn’t remember the plot or the supporting cast, but what stayed with me vividly was the setting. The film had been shot in Munnar’s Madupetty Estate, with the estate school serving as one of the locations. I also remembered a Carnatic-influenced song filmed outdoors in the estate, which left a strong impression on me. For years, I tried to rediscover ...

Looking Back at My Predictions

People who work closely with me often appreciate my ability to anticipate trends in technology stacks. With that in mind, I recently revisited some of my old blog posts—and it turns out, many of those predictions have held true. Here are a few handpicked posts that aged well: Prediction: Expensify will crash through its insane question-based hiring process February 23, 2022 BlackLivesMatter campaign may consolidate votes for Trump June 15, 2020 Technology prediction for 2018 January 16, 2018 Node.js and client app are the future of webdeving? December 29, 2011 Yahoo! and delicious.com - What's wrong? December 19, 2010 Disclosure: The following ChatGPT prompt is used in this blog post: Please fix the language of the below text and highlight the changes in bold: