/psd-d

Experimental PSD loader made for Inochi Creator

Primary LanguageDBSD 2-Clause "Simplified" LicenseBSD-2-Clause

PSD-D

psd-d is a lose experimental port of psd_sdk to D to support basic extraction of layer info and layer data from photoshop files. Some features are not supported (yet), but we'll add them over time.

Only the PSD format is supported, there's currently no support for PSB.

Parsing a document

To parse a PSD document, use parseDocument in psd.

PSD document = parseDocument("myFile.psd");

Extracting layer data from layer

To extract layer data (textures) from a layer use Layer.extractLayerImage()

PSD doc = parseDocument("myfile.psd");
foreach(layer; doc.layers) {
    
    // Skip non-image layers
    if (layer.type != LayerType.Any) continue;

    // Extract the layer image data.
    // The output RGBA output is stored in Layer.data
    layer.extractLayerImage();

    // write_image from imagefmt is used here to export the layer as a PNG
    write_image(buildPath(outputFolder, layer.name~".png"), layer.width, layer.height, layer.data, 4);
}