Exportieren Sie Photoshop-Musterblätter in ein für Menschen lesbares Dokument

Ich muss eine Photoshop-Farbfelddatei in ein für Menschen lesbares Dokument mit RGB-, HSB-, HEX-Werten und dem Namen des Farbfelds exportieren. Gibt es ein Tool, das Farbfelder in diese Art von Dokument exportieren kann?

Antworten (3)

Ich habe einen eingeschränkten (im Moment keine Unterstützung für LAB, HSB oder Schmuckfarbe) Python Aco -> Text Dumper erstellt. Das Skript selbst ist ein einmaliges, schnell erstelltes, daher müssen Sie den Dateinamen ändern, um Ihre Ausgangsdatei test.aco zu lesen oder zu benennen:

#!/usr/bin/python
# -*- coding: utf-8 -*-
# quick script no warranties whatsoever
import struct



class ColorSwatch():
    def __init__(self, fp):
        self.rawdata  = struct.unpack(">5H",fp.read(10))
        namelen, = struct.unpack(">I",fp.read(4))
        cp = fp.read(2*namelen)
        self.name = cp[0:-2].decode('utf-16-be')
        self.typename = self.colorTypeName()


    def colorTypeName(self):
        try:
            return {0:"RGB", 1:"HSB",
                    2:"CMYK",7:"Lab",
                    8:"Grayscale"}[self.rawdata[0]]
        except IndexError:
            print self.rawdata[0]

    def __strCMYK(self):
        rgb8bit = map(lambda a: (65535 - a)/655.35, self.rawdata[1:])
        return "{name} ({typename}): {0}% {1}% {2}% {3}%".format(*rgb8bit,**self.__dict__)

    def __strRGB(self):
        rgb8bit = map(lambda a: a/256,self.rawdata[1:4])
        return "{name} ({typename}): #{0:x}{1:x}{2:x}".format(*rgb8bit,**self.__dict__)

    def __strGrayscale(self):
        gray = self.rawdata[1]/100.
        return "{name} ({typename}): {0}%".format(gray,**self.__dict__)

    def __str__(self):
        return {0: self.__strRGB, 1:"HSB",
                2:self.__strCMYK,7:"Lab",
                8:self.__strGrayscale}[self.rawdata[0]]()

with open("test.aco", "rb") as acoFile:
    #skip ver 1 file
    head = acoFile.read(2)
    ver, = struct.unpack(">H",head)
    if (ver != 1):
        raise TypeError("Probably not a adobe aco file")
    count = acoFile.read(2)
    cnt, = struct.unpack(">H",count)
    acoFile.seek(cnt*10,1)

    #read ver2 file
    head = acoFile.read(2)
    ver, = struct.unpack(">H",head)
    if (ver != 2):
        raise TypeError("Probably not a adobe aco file")
    count = acoFile.read(2)
    count, = struct.unpack(">H",count)
    for _ in range(count):
        swatch = ColorSwatch(acoFile)
        print str(swatch)

Es scheint, dass auch http://ps-scripts.sourceforge.net/xtools.html etwas Ähnliches zur Verfügung hat. Ich weiß nicht, ob dies Ihre Weltanschauung meilenweit übersteigt oder ob es angemessen ist, also poste ich es einfach so, wie es ist.

Wow. Dieses Skript funktioniert einwandfrei. Danke @joojaa Aber ich werde XToolkit auch einmal ausprobieren. Das funktioniert bei mir gerade
@AnujRajput Die Beschreibung der aco-Datei finden Sie hier: adobe.com/devnet-apps/photoshop/fileformatashtml

Anweisungen

1 Starten Sie Photoshop, wählen Sie das Menü „Fenster“ und wählen Sie „Farbfelder“. Das Bedienfeld „Farbfelder“ wird geöffnet.

2 Klicken Sie auf das kleine Flyout-Menü in der oberen rechten Ecke des Farbfeldbedienfelds. Das Flyout-Menü wird als nach unten zeigender Pfeil und eine Reihe horizontaler Linien angezeigt. Dies öffnet eine Liste möglicher Aktionen.

3 Klicken Sie in der Liste auf „Farbfelder laden“. Dadurch gelangen Sie zu dem Ordner, in dem Photoshop seine Farbfelddateien speichert.

4 Wählen Sie die Datei „No_Swatches.aco“ und klicken Sie auf „Laden“. Dadurch werden die vorhandenen Farbfelder im Bedienfeld gelöscht, sodass Sie von vorne beginnen können.

5 Fügen Sie dem Farbfeldbedienfeld so viele Farben hinzu, wie Sie möchten, indem Sie eine Farbe auswählen und in den leeren Bereich im Farbfeldbedienfeld klicken. Benennen Sie das Farbfeld und klicken Sie auf „OK“. Wiederholen Sie diesen Vorgang, bis alle von Ihnen gewählten Farben als Farbfelder dargestellt werden.

6 Klicken Sie erneut auf das Flyout-Menü. Es öffnet sich die Liste der möglichen Aktionen.

7 Klicken Sie in der Liste auf „Muster für Austausch speichern“.

8 Navigieren Sie zu dem Speicherort, an dem Sie Ihre neue Swatches-Datei speichern möchten. Benennen Sie die Datei und klicken Sie auf „Speichern“. Dadurch wird eine .ASE- oder Adobe Swatch Exchange-Datei erstellt, die jetzt in viele andere Adobe-Programme geladen werden kann, einschließlich Illustrator und InDesign.

Tipps und Warnungen Während die Verwendung von Farbfeldern der einfachste Weg ist, Farben aus Photoshop zu exportieren, können Sie auch Werte verwenden, die in der HSB-, RGB-, CMYK-, LAB- oder Hex-Farbauswahl aufgeführt sind, um die richtige Farbe in anderen Programmen abzugleichen.

http://www.ehow.com/how_8476041_export-colors-photoshop.html

Überprüfen Sie, ob dies funktioniert. Geben Sie eine genauere Zusammenfassung dessen, wonach Sie genau suchen

Ich habe die Schritte von der verlinkten Website hinzugefügt. Nur für den Fall, dass der Link tot ist.
Ich muss ein Designdokument erstellen. ASE ist nicht menschenlesbar.

Ich weiß, dass dies alt ist, aber ich habe dieses Skript für einen ähnlichen Zweck wie das OP verwendet und einen kleinen Fehler gefunden. Das Skript scheint führende „0“ im Hex-Code zu entfernen, was zu Fehlern wie „#26843“ anstelle von „#026843“ führt.

Ich kenne Python nicht, aber als ich mir andere Beispiele für RGB-zu-Hex-Konvertierungen mit Python angesehen habe, habe ich herausgefunden, wie ich den Fehler korrigieren und eine gültige Hex-Farbliste ausdrucken kann.

Falls jemand anderes das gleiche Problem hat, scheint dies die Lösung zu sein:

Alter Code:

def __strRGB(self):
    rgb8bit = map(lambda a: a/256,self.rawdata[1:4])
    return "{name} ({typename}): #{0:x}{1:x}{2:x}".format(*rgb8bit,**self.__dict__)

Neuer Code

def __strRGB(self):
    rgb8bit = map(lambda a: a/256,self.rawdata[1:4])
    return "{name} ({typename}): #{0:02x}{1:02x}{2:02x}".format(*rgb8bit,**self.__dict__)