Notes de publication d'Aspose.PSD pour Python via .NET 24.2
Contents
[
Hide
]
Cette page contient les notes de publication pour Aspose.PSD pour Python via .NET 24.2
Clé | Résumé | Catégorie |
---|---|---|
PSDPYTHON-28 | Gérer la propriété Angle pour PatternFillSettings | Fonctionnalité |
PSDPYTHON-29 | Prise en charge de l’échelle verticale et horizontale pour TextLayer | Fonctionnalité |
PSDPYTHON-33 | [Format AI] Implémenter le rendu correct de l’arrière-plan dans le format AI basé sur PDF. | Fonctionnalité |
PSDPYTHON-34 | Changer le mécanisme Distort dans warp | Amélioration |
PSDPYTHON-35 | Accélérer le warp | Amélioration |
PSDPYTHON-36 | Exception “Échec du chargement de l’image” lors de l’ouverture du document | Problème |
PSDPYTHON-37 | Corriger la sauvegarde des fichiers psd avec le motif de trait | Problème |
PSDPYTHON-38 | Le style de texte est incorrect dans un objet intelligent lorsque nous utilisons ReplaceContents | Problème |
PSDPYTHON-39 | [Format AI] Corriger le rendu des courbes de Bézier cubiques dans le fichier AI | Problème |
Changements d’API publics
APIs ajoutées:
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PtFlResource.Angle
APIs supprimées:
- Aucune
Exemples d’utilisation:
PSDPYTHON-28. Gérer la propriété Angle pour PatternFillSettings
nomFichier = "PatternFillLayerWide_0"
fichierSource = nomFichier + ".psd"
fichierSortie = nomFichier + "_output.psd"
optionsChargement = PsdLoadOptions()
optionsChargement.load_effects_resource = True
with PsdImage.load(fichierSource, optionsChargement) as img:
image = cast(PsdImage, img)
fillLayer = cast(FillLayer, image.layers[1])
fillSettings = fillLayer.fill_settings
fillSettings.angle = 70
fillLayer.update()
image.save(fichierSortie, PsdOptions())
with PsdImage.load(fichierSortie, optionsChargement) as img:
image = cast(PsdImage, img)
fillLayer = cast(FillLayer, image.layers[1])
fillSettings = fillLayer.fill_settings
assert fillSettings.angle == 70
PSDPYTHON-29. Prise en charge de l’échelle verticale et horizontale pour TextLayer
fichierSource = "1719_src.psd"
fichierSortie = "output.png"
# Ajouter quelques polices
dossierFonts = "1719_Fonts"
fontFolders = list(FontSettings.get_fonts_folders())
fontFolders.append(dossierFonts)
FontSettings.set_fonts_folders(fontFolders, True)
with PsdImage.load(fichierSource) as image:
image.save(fichierSortie, PngOptions())
PSDPYTHON-33. [Format AI] Implémenter le rendu correct de l’arrière-plan dans le format AI basé sur PDF
fichierSource = "pineapples.ai"
fichierSortie = "pineapples.png"
with AiImage.load(fichierSource) as image:
image.save(fichierSortie, PngOptions())
PSDPYTHON-34. Changer le mécanisme Distort dans warp
fichierSource = "crow_grid.psd"
fichierSortie = self.GetFileInOutputFolder("export.png")
options = PsdLoadOptions()
options.load_effects_resource = True
options.allow_warp_repaint = True
optionsPng = PngOptions()
optionsPng.compression_level = 9
optionsPng.color_type = PngColorType.TRUECOLOR_WITH_ALPHA
with PsdImage.load(fichierSource, options) as img:
img.save(fichierSortie, optionsPng)
PSDPYTHON-35. Accélérer le warp
fichierSource = "output.psd"
fichierSortie = "export.png"
options = PsdLoadOptions()
options.load_effects_resource = True
options.allow_warp_repaint = True
start_time = time.time()
optionsPng = PngOptions()
optionsPng.compression_level = 9
optionsPng.color_type = PngColorType.TRUECOLOR_WITH_ALPHA
with PsdImage.load(fichierSource, options) as img:
img.save(fichierSortie, optionsPng)
elapsed_time = time.time() - start_time
# ancienne valeur = 193300
# nouvelle valeur = 55500
time_in_sec = int(elapsed_time * 1000)
if time_in_sec > 100000:
raise Exception("Le temps de traitement est trop long")
PSDPYTHON-36. Exception “Échec du chargement de l’image” lors de l’ouverture du document
fichierSource1 = "PRODUCT.ai"
fichierSortie1 = "PRODUCT.png"
with AiImage.load(fichierSource1) as image:
image.save(fichierSortie1, PngOptions())
fichierSource2 = "Dolota.ai"
fichierSortie2 = "Dolota.png"
with AiImage.load(fichierSource2) as image:
image.save(fichierSortie2, PngOptions())
fichierSource3 = "ARS_novelty_2108_out_01(1).ai"
fichierSortie3 = "ARS_novelty_2108_out_01(1).png"
with AiImage.load(fichierSource3) as image:
image.save(fichierSortie3, PngOptions())
fichierSource4 = "bit_gear.ai"
fichierSortie4 = "bit_gear.png"
with AiImage.load(fichierSource4) as image:
image.save(fichierSortie4, PngOptions())
fichierSource5 = "test.ai"
fichierSortie5 = "test.png"
with AiImage.load(fichierSource5) as image:
image.save(fichierSortie5, PngOptions())
PSDPYTHON-37. Corriger la sauvegarde des fichiers psd avec le motif de trait
fichierSource = "StrokeShapePattern.psd"
fichierSortie = "StrokeShapePattern_output.psd"
nouveauxLimitsPattern = Rectangle(0, 0, 4, 4)
id = str(uuid.uuid4())
nouveauNomPattern = "$$$/Presets/Patterns/HorizontalLine1=Horizontal Line 9\0"
nouveauPattern = [
Color.aqua.to_argb(), Color.red.to_argb(), Color.red.to_argb(), Color.aqua.to_argb(),
Color.aqua.to_argb(), Color.white.to_argb(), Color.white.to_argb(), Color.aqua.to_argb(),
Color.aqua.to_argb(), Color.white.to_argb(), Color.white.to_argb(), Color.aqua.to_argb(),
Color.aqua.to_argb(), Color.red.to_argb(), Color.red.to_argb(), Color.aqua.to_argb(),
]
with PsdImage.load(fichierSource) as img:
image = cast(PsdImage, img)
shapeLayer = cast(ShapeLayer, image.layers[1])
strokeInternalFillSettings = shapeLayer.fill
pattResource = None
for globalLayerResource in image.global_layer_resources:
pattResource = as_of(globalLayerResource, PattResource)
if pattResource is not None:
patternItem = pattResource.patterns[0] # Données de motif interne de trait
patternItem.pattern_id = id
patternItem.name = nouveauNomPattern
patternItem.set_pattern(nouveauPattern, nouveauxLimitsPattern)
break
strokeInternalFillSettings.pattern_name = nouveauNomPattern
strokeInternalFillSettings.pattern_id = id + "\0"
shapeLayer.update()
image.save(fichierSortie)
# Vérifier les données modifiées.
with PsdImage.load(fichierSortie) as img:
image = cast(PsdImage, img)
shapeLayer = cast(ShapeLayer, image.layers[1])
strokeInternalFillSettings = shapeLayer.fill
assert id.upper() == strokeInternalFillSettings.pattern_id
assert nouveauNomPattern == strokeInternalFillSettings.pattern_name + "\0"
PSDPYTHON-38. Le style de texte est incorrect dans un objet intelligent lorsque nous utilisons ReplaceContents
fichierEntree = "source.psd"
fichierSortie = "output.png"
optionsChargementPsd = PsdLoadOptions()
optionsChargementPsd.load_effects_resource = True
with PsdImage.load(fichierEntree, optionsChargementPsd) as image:
psdImage = cast(PsdImage, image)
smartObject = cast(SmartObjectLayer, psdImage.layers[1])
smartObjectImage = cast(PsdImage, smartObject.load_contents(optionsChargementPsd))
with smartObjectImage:
smartObject.replace_contents(smartObjectImage)
optionsPng = PngOptions()
optionsPng.color_type = PngColorType.TRUECOLOR_WITH_ALPHA
psdImage.save(fichierSortie, optionsPng)
PSDPYTHON-39. [Format AI] Corriger le rendu des courbes de Bézier cubiques dans le fichier AI
fichierSource = "Typography.ai"
cheminFichierSortie = "Typography.png"
with AiImage.load(fichierSource) as image:
image.save(cheminFichierSortie, PngOptions())