Exporte la hoja de muestra de Photoshop a un documento legible por humanos

Necesito exportar un archivo de muestra de Photoshop a un documento legible por humanos con valores RGB, HSB, HEX y el nombre de la muestra. ¿Hay alguna herramienta que pueda exportar muestras a este tipo de documento?

Respuestas (3)

He hecho un limitado (sin soporte para LAB, HSB o color directo en este momento) python aco -> text dumper. La secuencia de comandos en sí es única y rápida, por lo que debe cambiar el nombre del archivo para leer o nombrar su archivo de salida test.aco:

#!/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)

Parece que también http://ps-scripts.sourceforge.net/xtools.html tiene algo similar disponible. No sé si esto excede tu visión del mundo con una milla o si es adecuado, así que lo publico tal como está.

Vaya Este script funciona perfectamente. Gracias @joojaa Pero también probaré XToolkit en algún momento. Esto me funciona ahora mismo
@AnujRajput La descripción del archivo aco se puede encontrar aquí: adobe.com/devnet-apps/photoshop/fileformatashtml

Instrucciones

1 Inicie Photoshop, seleccione el menú "Ventana" y elija "Muestras". Se abrirá el panel Muestras.

2 Haga clic en el pequeño menú flotante en la esquina superior derecha del panel Muestras. El menú flotante aparece como una flecha hacia abajo y una serie de líneas horizontales. Esto abrirá una lista de posibles acciones.

3 Haga clic en "Cargar muestras" de la lista. Esto lo dirigirá a la carpeta donde Photoshop guarda sus archivos de muestra.

4 Seleccione el archivo "No_Swatches.aco" y haga clic en "Cargar". Esto borrará las muestras existentes en el panel para que pueda comenzar desde cero.

5 Agregue tantos colores al panel Muestras como desee seleccionando un color y haciendo clic en el espacio en blanco dentro del panel Muestras. Asigne un nombre a la muestra y haga clic en "Aceptar". Repita hasta que todos los colores elegidos estén representados como muestras.

6 Haga clic en el menú desplegable de nuevo. Se abrirá la lista de posibles acciones.

7 Haga clic en "Guardar muestras para intercambio" de la lista.

8 Navegue hasta la ubicación donde desea guardar su nuevo archivo de Muestras. Asigne un nombre al archivo y haga clic en "Guardar". Esto creará un archivo .ASE, o Adobe Swatch Exchange, que ahora se puede cargar en muchos otros programas de Adobe, incluidos Illustrator e InDesign.

Sugerencias y advertencias Si bien el uso de Muestras es la forma más fácil de exportar colores desde Photoshop, también puede usar los valores enumerados en las selecciones HSB, RGB, CMYK, LAB o Hex Color para hacer coincidir el color correcto en otros programas.

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

Comprueba si esto funciona Da más resumen de lo que estás buscando exactamente

Agregué los pasos del sitio web vinculado. Por si acaso el enlace se cae.
Necesito preparar un documento de diseño. ASE no es legible por humanos.

Sé que esto es antiguo, pero estaba usando este script para un propósito similar al del OP y encontré un pequeño error. El script parece eliminar los '0' iniciales en el código hexadecimal, lo que provoca errores como '#26843' en lugar de '#026843'.

No conozco python, pero al ver otros ejemplos de conversiones de RGB a hexadecimal con python, descubrí cómo corregir el error e imprimir una lista de colores hexadecimal válida.

En caso de que alguien más tenga el mismo problema, esta parece ser la solución:

Código antiguo:

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__)

Nuevo código

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__)