Núcleo API

API principal

PsdImage es el punto de entrada para cargar, inspeccionar y guardar documentos PSD/PSB. Extiende la clase base abstracta Image, que declara solo load() — el resto de la superficie del documento (width, height, save(), soporte de gestor de contexto) se define en PsdImage mismo, no se hereda.


Cargando y Guardando Documentos

Image.load() acepta una ruta de archivo o un flujo y devuelve un Image; para la entrada PSD/PSB esto siempre es un PsdImage, por lo que la superficie del documento está disponible inmediatamente sin un casting explícito. PsdImage también admite la sentencia with para la limpieza automática, y PsdImage.save() escribe el documento de nuevo a una ruta de archivo o flujo.

from aspose_psd_foss.psdimage import PsdImage

with PsdImage.load(input_path) as image:
    # ... inspect or edit ...
    image.save(output_path)

Propiedades del Encabezado del Documento

PsdImage expone el encabezado analizado como propiedades tipadas: width, height, bits_per_channel, color_mode, version, compression, size y is_flatten.

print(f"Width: {image.width}, Height: {image.height}")
print(f"ColorMode: {image.color_mode}, Version: {image.version}")
print(f"Compression: {image.compression}, IsFlatten: {image.is_flatten}")

Recursos de Imagen

PsdImage.image_resources devuelve la lista analizada de objetos ResourceBlock. En esta compilación FOSS, image_resources, global_layer_resources, active_layer y has_transparency_data pueden leerse pero no reasignarse — sus setters generan NotSupportedException.

for resource in image.image_resources:
    print(f"Resource {resource.id}: {resource.name} ({resource.data_size} bytes)")

Consejos y Mejores Prácticas

  • Image.load() ya devuelve un PsdImage para una entrada PSD/PSB — no se necesita cast, a diferencia de algunos otros puertos de esta biblioteca a otros lenguajes.
  • Utilice la sentencia with; PsdImage admite el protocolo de gestor de contexto para la limpieza.
  • Trate image_resources, global_layer_resources, active_layer y has_transparency_data como de solo lectura aunque expongan un setter.
  • Verifique image.layer_count antes de indexar en image.layers — un documento aplanado puede tener cero capas.

Problemas Comunes

ProblemaCausaSolución
NotSupportedException al establecer image_resourcesEsta propiedad es de solo lectura en la compilación FOSS a pesar de tener un setterLea el valor; no intente reasignarlo
Lista vacía de image.layers en un documento aplanadois_flatten es True y el documento no tiene capas analizadasVerifique image.layer_count (o image.is_flatten) antes de indexar en image.layers

FAQ

¿Cargar un documento PSD decodifica los datos de píxeles?

No. PsdImage.load() analiza el encabezado del documento, los metadatos de capa y los recursos sin decodificar ni renderizar datos de píxeles.

¿Puedo convertir un archivo PSD a otro formato de imagen?

No. Esta biblioteca carga, inspecciona y guarda únicamente documentos PSD/PSB — no renderiza datos de píxeles ni los convierte a otros formatos de imagen.


API Reference Resumen

Clase/MétodoDescripción
Image.load(path) / Image.load(stream)Carga un documento PSD o PSB
PsdImage.save(path) / PsdImage.save(stream)Guarda el documento
PsdImage.width / height / bits_per_channel / color_mode / version / compression / size / is_flattenPropiedades del encabezado del documento
PsdImage.image_resourcesBloques de recursos de imagen analizados (solo lectura)

Ver también

 Español