2009-01-31 6 views
7

C#에서 포토샵 파일 (PSD)의 레이어를 읽고 투명 이미지 (PNG)로 추출 할 수있는 라이브러리가 있습니까?Photoshop 파일에서 레이어를 추출하는 방법은 무엇입니까? C#

Photoshop에는 개별 파일의 모든 레이어를 추출하는 배치 명령이 있지만 투명 PNG는 선택할 수 없습니다. 내 목표는 원하는대로 레이어 조합을 만드는 작은 유틸리티 프로그램을 만드는 것입니다 (예를 들어 카드 덱 만들기와 같은).

답변

3

CodeProject에 도움이 될 수있는 article이 유용합니다. 그리고 여기에 thread이있어 C#으로 PSD 파일 형식 구문 분석에 대해 논의하고 있습니다.

+0

SO 토론에서는 포토샵 파일을 읽는 것에 대해서만 이야기합니다 (링크도 마찬가지입니다). 아쉽게도 CodeProject 기사의 데모 응용 프로그램은 새로운 CS3 형식에서는 작동하지 않습니다. :( – pek

3

Photoshop COM으로 할 수 있습니다.

+2

특히이 기사 (http : //www.pcpix.com/Photoshop /)에서 .NET의 COM 인터페이스에 액세스 할 수 있습니다. –

0

Photoshop이 설치되어 있지 않은 경우의 코드를보고 PSD 파일을로드하는 샘플 코드를 확인하십시오.

불행히도 내가 원하는대로하는 기존 PNG 라이브러리에 대해서는 알지 못하지만 PNG 파일 조작을위한 표준 라이브러리 코드는 http://www.libpng.org/pub/png/에 있습니다.

1

자바에서이 작업을 수행하는 code sample가 있습니다.

"Does not support additional features in PS versions higher than 3.0" 

또한 ImageMagick이는 PSD 처리하고 많은 언어에 대한 인터페이스가 있습니다 :

"Supports uncompressed or RLE-compressed RGB files only" 

또한 더 오래된 PSD 버전 지원

"Choose from these interfaces: G2F (Ada), MagickCore (C), MagickWand (C), ChMagick (Ch), ImageMagickObject (COM+), Magick++ (C++), JMagick (Java), L-Magick (Lisp), NMagick (Neko/haXe), MagickNet (.NET), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), IMagick (PHP), PythonMagick (Python), RMagick (Ruby), or TclMagick (Tcl/TK)" 
1

ImagicMagick ( 다른 언급했다 SO article)을 사용하면 레이어를 개별적으로 추출 할 수 있습니다. 참조 : http://www.rubblewebs.co.uk/imagemagick/psd.php

는 명령 줄 도구를 사용하여 자신이 시도 할 수 있습니다 :

convert boots.psd[0] -thumbnail 340x340 boots_png.png 
3

나는이 어디에서 많이 찾을 수 couldnt한다, 그러나 이것은 내가 그 일을 결국 방법이다.

using Photoshop; 

Photoshop.PsdFile psd = new Photoshop.PsdFile(); 
psd.Load(pingTextsPsd); 

for (int j = 0; j < psd.Layers.Count; j++) 
      { 
       System.Drawing.Image myPsdImage = ImageDecoder.DecodeImage(psd.Layers[j]); 

       myPsdImage.Save(pingsOutputPath + psd.Layers[j].Name + ".png"); 

      } 

내가 자체가 충분히 않네 paintdotnet DLL을 받고으로, 프랭크 Blumenberg이 (조나스 Beckeman으로 Endogine 엔진을 기반으로)했던 CS 파일을 다운로드했다.

저는 여기에 cs 파일이 있다고 믿습니다.

http://code.google.com/p/skimpt/source/browse/trunk/Skimpt3/Skimpt3/classes/photoshop/?r=72

이것은 당신이 층을 얻을 수 있도록해야한다 ... 이것은 CS6 너무 파일 잘 작동하는 것 같다

:-)

.

업데이트 : vs2013 웹 사이트는 여기 : http://goo.gl/H6nWSN입니다.

관련 문제