Notas de la versión de Aspose.PSD para Python via .NET 24.4
Contents
[
Hide
]
Esta página contiene las notas de la versión de Aspose.PSD para Python via .NET 24.4
Clave | Resumen | Categoría |
---|---|---|
PSDPYTHON-50 | Agregar manejo de recursos XObjectForm para formato AI | Función |
PSDPYTHON-51 | Agregar constructor para el ShapeLayer | Función |
PSDPYTHON-52 | Corregir conversión de archivo Psd de RGB a CMYK | Error |
PSDPYTHON-53 | No se puede exportar un archivo PSD específico utilizando Aspose.PSD | Error |
Cambios en la API pública
APIs añadidas:
- M:Aspose.PSD.FileFormats.Psd.PsdImage.AddShapeLayer
APIs eliminadas:
- Ninguna
Ejemplos de uso:
PSDPYTHON-50. [AI Format] Agregar manejo de recursos XObjectForm
nombreArchivoFuente = "ejemplo.ai"
rutaArchivoSalida = "salida_ejemplo.png"
with AiImage.load(nombreArchivoFuente) as imagen:
imagen.save(rutaArchivoSalida, PngOptions())
PSDPYTHON-51. Agregar constructor para el ShapeLayer
def verificar ShapeLayerConstructor():
archivoSalida = "salida_AgregarShapeLayer.psd"
with PsdImage(600, 400) as nuevaPsd:
shapeLayer = nuevaPsd.add_shape_layer()
nuevaForma = generar_nueva_forma(nuevaPsd.size)
nuevasFormas = [nuevaForma]
shapeLayer.path.set_items(nuevasFormas)
shapeLayer.update()
nuevaPsd.save(archivoSalida)
with PsdImage.load(archivoSalida) as img:
imagen = cast(PsdImage, img)
assert len(imagen.layers) == 2
shapeLayer = cast(ShapeLayer, imagen.layers[1])
rellenoInterno = shapeLayer.fill
configuracionesTrazo = shapeLayer.stroke
rellenoTrazo = shapeLayer.stroke.fill
assert len(shapeLayer.path.get_items()) == 1
assert len(shapeLayer.path.get_items()[0].get_items()) == 3
assert rellenoInterno.color.to_argb() == -16127182
assert configuracionesTrazo.size == 7.41
assert not configuracionesTrazo.enabled
assert configuracionesTrazo.line_alignment == StrokePosition.CENTER
assert configuracionesTrazo.line_cap == LineCapType.BUTT_CAP
assert configuracionesTrazo.line_join == LineJoinType.MITER_JOIN
assert rellenoTrazo.color.to_argb() == -16777216
def generar_nueva_forma(tamañoImagen):
nuevaForma = PathShape()
punto1 = PointF(20, 100)
punto2 = PointF(200, 100)
punto3 = PointF(300, 10)
nudo1 = BezierKnotRecord()
nudo1.is_linked = True
nudo1.points = [
Release_24_04_Tests.PointFToResourcePoint(punto1, tamañoImagen),
Release_24_04_Tests.PointFToResourcePoint(punto1, tamañoImagen),
Release_24_04_Tests.PointFToResourcePoint(punto1, tamañoImagen)
]
nudo2 = BezierKnotRecord()
nudo2.is_linked = True
nudo2.points = [
Release_24_04_Tests.PointFToResourcePoint(punto2, tamañoImagen),
Release_24_04_Tests.PointFToResourcePoint(punto2, tamañoImagen),
Release_24_04_Tests.PointFToResourcePoint(punto2, tamañoImagen)
]
nudo3 = BezierKnotRecord()
nudo3.is_linked = True
nudo3.points = [
Release_24_04_Tests.PointFToResourcePoint(punto3, tamañoImagen),
Release_24_04_Tests.PointFToResourcePoint(punto3, tamañoImagen),
Release_24_04_Tests.PointFToResourcePoint(punto3, tamañoImagen)
]
nudosBezier = [
nudo1,
nudo2,
nudo3
]
nuevaForma.set_items(nudosBezier)
return nuevaForma
def PointFToResourcePoint(punto, tamañoImagen):
RelacionImgAPsd = 256 * 65535
return Point(
int(round(punto.y * (RelacionImgAPsd / tamañoImagen.height))),
int(round(punto.x * (RelacionImgAPsd / tamañoImagen.width)))
)
def assert_are_equal(esperado, actual, mensaje=None):
if esperado != actual:
raise Exception(mensaje or "Los objetos no son iguales.")
PSDPYTHON-52. Corregir conversión de archivo Psd de RGB a CMYK
def verificarConversionDeRgbACmyk():
archivoFuente = "rananoseguro.psd"
archivoSalida = "rananoseguro_salida.psd"
with PsdImage.load(archivoFuente) as imagen:
imagenPsd = cast(PsdImage, imagen)
imagenPsd.has_transparency_data = False
opcionesPsd = PsdOptions(imagenPsd)
opcionesPsd.color_mode = ColorModes.CMYK
opcionesPsd.compression_method = CompressionMethod.RLE
opcionesPsd.channels_count = 4
imagenPsd.save(archivoSalida, opcionesPsd)
with PsdImage.load(archivoSalida) as imagen:
imagenPsd = cast(PsdImage, imagen)
assert not imagenPsd.has_transparency_data
assert imagenPsd.layers[0].channels_count == 4
def assert_are_equal(esperado, actual, mensaje=None):
if esperado != actual:
raise Exception(mensaje or "Los objetos no son iguales.")
def assert_are_equal(esperado, actual, mensaje=None):
if esperado != actual:
raise Exception(mensaje or "Los objetos no son iguales.")
PSDPYTHON-53. No se puede exportar un archivo PSD específico utilizando Aspose.PSD
archivoFuente = "1966fuente.psd"
pngSalida = "salida.png"
opcionesCargaPsd = PsdLoadOptions()
opcionesCargaPsd.load_effects_resource = True
with PsdImage.load(archivoFuente, opcionesCargaPsd) as imagenPsd:
imagenPsd.save(pngSalida, PngOptions())