Aspose.PSD pour .NET 24.6 - Notes de version
Contents
[
Hide
]
Cette page contient les notes de version pour Aspose.PSD pour .NET 24.6
Clé | Résumé | Catégorie |
---|---|---|
PSDNET-1450 | Implémenter le support de la couche de carte de dégradé | Fonctionnalité |
PSDNET-1670 | [Format AI] Ajouter le support de la métadonnée XPacket au format AI | Fonctionnalité |
PSDNET-1831 | Implémenter les types de torsion Inflate, Squeeze et Twist | Fonctionnalité |
PSDNET-1653 | Les modes Rvb et Lab ne peuvent pas contenir moins de 3 canaux et plus de 4 canaux dans le fichier avec des calques de planche d’art | Problème |
PSDNET-1775 | La zone de traitement supérieure doit être positive. (Paramètre ‘areaToProcess’) lors du traitement d’un fichier spécifique | Problème |
PSDNET-2052 | L’image étendue sur la toile est rognée après l’enregistrement. Les données sont perdues mais l’aperçu est correct | Problème |
Changements d’API publique
APIs ajoutées:
- P:Aspose.PSD.FileFormats.Psd.Layers.FillSettings.NoiseGradientFillSettings.ExpansionCount
- M:Aspose.PSD.FileFormats.Psd.PsdImage.AddGradientMapAdjustmentLayer
- T:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.GradientMapLayer
- P:Aspose.PSD.FileFormats.Psd.Layers.AdjustmentLayers.GradientMapLayer.GradientSettings
- P:Aspose.PSD.FileFormats.Ai.AiImage.XmpData
APIs supprimées:
- Aucune
Exemples d’utilisation:
PSDNET-1450. Implémenter le support de la couche de carte de dégradé
string fichierSource = Path.Combine(baseFolder, "gradient_map_src.psd");
string fichierSortie = Path.Combine(outputFolder, "gradient_map_src_output.psd");
using (PsdImage im = (PsdImage)Image.Load(fichierSource))
{
// Ajouter une couche d'ajustement de carte de dégradé.
GradientMapLayer couche = im.AddGradientMapAdjustmentLayer();
couche.GradientSettings.Reverse = true;
im.Save(fichierSortie);
}
// Vérifier les changements enregistrés
using (PsdImage im = (PsdImage)Image.Load(fichierSortie))
{
GradientMapLayer coucheCarteDeGradient = im.Layers[1] as GradientMapLayer;
GradientFillSettings réglagesGradient = (GradientFillSettings)coucheCarteDeGradient.GradientSettings;
AssertAreEqual(0.0, réglagesGradient.Angle);
AssertAreEqual((short)4096, réglagesGradient.Interpolation);
AssertAreEqual(true, réglagesGradient.Reverse);
AssertAreEqual(false, réglagesGradient.AlignWithLayer);
AssertAreEqual(false, réglagesGradient.Dither);
AssertAreEqual(GradientType.Linear, réglagesGradient.GradientType);
AssertAreEqual(100, réglagesGradient.Scale);
AssertAreEqual(0.0, réglagesGradient.HorizontalOffset);
AssertAreEqual(0.0, réglagesGradient.VerticalOffset);
AssertAreEqual("Personnalisé", réglagesGradient.GradientName);
}
void AssertAreEqual(object attendu, object réel, string message = null)
{
if (!object.Equals(attendu, réel))
{
throw new Exception(message ?? "Les objets ne sont pas égaux.");
}
}
PSDNET-1670. [Format AI] Ajouter le support de la métadonnée XPacket au format AI
string fichierSource = Path.Combine(baseFolder, "ai_one.ai");
void AssertAreEqual(object attendu, object réel)
{
if (!object.Equals(attendu, réel))
{
throw new Exception("Les objets ne sont pas égaux.");
}
}
void AssertIsNotNull(object objetTest)
{
if (objetTest == null)
{
throw new Exception("Les objets de test sont nuls.");
}
}
string cléOutilCréation = ":OutilCréation";
string cléNPages = "xmpTPg:NPages";
string cléUnité = "stDim:unit";
string cléHauteur = "stDim:h";
string cléLargeur = "stDim:w";
string outilCréationAttendu = "Adobe Illustrator CC 22.1 (Windows)";
string nPagesAttendu = "1";
string unitéAttendue = "Pixels";
double hauteurAttendue = 768;
double largeurAttendue = 1366;
using (AiImage image = (AiImage)Image.Load(fichierSource))
{
// Les métadonnées Xmp ont été ajoutées.
var métadonnéesXmp = image.XmpData;
AssertIsNotNull(métadonnéesXmp);
// Maintenant, nous pouvons accéder aux paquets Xmp des fichiers AI.
var packageBasique = métadonnéesXmp.GetPackage(Namespaces.XmpBasic) as XmpBasicPackage;
var package = métadonnéesXmp.Packages[4];
// Et nous avons accès au contenu de ces paquets.
var outilCréation = packageBasique[cléOutilCréation].ToString();
var nPages = package[cléNPages];
var unité = package[cléUnité];
var hauteur = double.Parse(package[cléHauteur].ToString(), CultureInfo.InvariantCulture);
var largeur = double.Parse(package[cléLargeur].ToString(), CultureInfo.InvariantCulture);
AssertAreEqual(outilCréation, outilCréationAttendu);
AssertAreEqual(nPages, nPagesAttendu);
AssertAreEqual(unité, unitéAttendue);
AssertAreEqual(hauteur, hauteurAttendue);
AssertAreEqual(largeur, largeurAttendue);
}
PSDNET-1831. Implémenter les types de torsion Inflate, Squeeze et Twist
string[] fichiers = { "Twist", "Squeeze", "Squeeze_vert", "Inflate" };
foreach (string préfixe in fichiers)
{
string fichierSource = Path.Combine(baseFolder, préfixe + ".psd");
string fichierSortie = Path.Combine(outputFolder, préfixe + "_export.png");
using (var psdImage = (PsdImage)Image.Load(fichierSource, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true }))
{
psdImage.Save(fichierSortie, new PngOptions
{
ColorType = PngColorType.TruecolorWithAlpha
});
}
}
PSDNET-1653. Les modes Rvb et Lab ne peuvent pas contenir moins de 3 canaux et plus de 4 canaux dans le fichier avec des calques de planche d’art
string fichierSource = Path.Combine(baseFolder, "Rgb5Channels.psb");
string fichierSortie = Path.Combine(outputFolder, "Rgb5Channels_output.psd");
using (PsdImage image = (PsdImage)Aspose.PSD.Image.Load(fichierSource))
{
// Il ne devrait pas y avoir d'exception ici
image.Save(fichierSortie);
}
PSDNET-1775. La zone de traitement supérieure doit être positive. (Paramètre ‘areaToProcess’) lors du traitement d’un fichier spécifique
string fichierSource = @"BANNERS_2_Intel-Gamer_psak.psd";
string fichierSortie = @"BANNERS_2_Intel-Gamer_psak_out.psd";
PsdLoadOptions optionsChargement = new PsdLoadOptions();
optionsChargement.LoadEffectsResource = true;
optionsChargement.AllowWarpRepaint = true;
using (PsdImage image = (PsdImage)PsdImage.Load(fichierSource, optionsChargement))
{
image.Save(fichierSortie);
// Il ne devrait pas y avoir d'exception
}
PSDNET-2052. L’image étendue sur la toile est rognée après l’enregistrement. Les données sont perdues mais l’aperçu est correct
string fichierSource = Path.Combine(baseFolder, "bigfile.psd");
string fichierSortie = Path.Combine(outputFolder, "bigfile_output.psd");
string imageSortie = Path.Combine(outputFolder, "bigfile.png");
PsdLoadOptions optionsChargement = new PsdLoadOptions()
{
LoadEffectsResource = true,
UseDiskForLoadEffectsResource = true
};
using (var psdImage = (PsdImage)Image.Load(fichierSource, optionsChargement))
{
// Il ne devrait pas y avoir d'erreur ici
psdImage.Save(fichierSortie, new PsdOptions { CompressionMethod = CompressionMethod.RLE });
}
using (var psdImage = (PsdImage)Image.Load(fichierSortie, optionsChargement))
{
psdImage.Resize(psdImage.Width / 10, psdImage.Height / 10);
// Il ne devrait pas y avoir d'erreur ici
psdImage.Save(imageSortie, new PngOptions { ColorType = PngColorType.TruecolorWithAlpha });
}