Aspose.PSD pour .NET 20.3 - Notes de version
Clé | Résumé | Catégorie |
---|---|---|
PSDNET-188 | Support de .Net Core | Fonctionnalité |
PSDNET-523 | Convertir des fichiers Adobe Illustrator en PDF | Fonctionnalité |
PSDNET-212 | Ajouter la capacité de rendre différents styles dans une couche de texte | Fonctionnalité |
PSDNET-144 | Support de la couche d’ajustement noir et blanc | Fonctionnalité |
PSDNET-233 | Ajouter le support de l’exportation du format AI (Version 8) vers d’autres formats | Fonctionnalité |
PSDNET-540 | Support du mode de fusion PassThrough (Utilisé uniquement pour les groupes de calques). | Fonctionnalité |
PSDNET-539 | Exception: Échec du chargement de l’image lors du chargement de l’image avec une ressource de noms Alpha Unicode vide | Bogue |
PSDNET-541 | Sortie incorrecte après avoir modifié la visibilité d’un groupe de calques | Bogue |
PSDNET-516 | Exception lors du chargement de l’image PSD : La section de couleur (Ressource d’ombre portée) doit contenir 3 composants de couleur pour RVB ou 4 composants de couleur pour CMJN | Bogue |
PSDNET-536 | Exception si essayez de dessiner sur une couche nouvellement créée si la version simple du constructeur est utilisée | Bogue |
Changements d’API publique
APIs ajoutées :
- T:Aspose.PSD.FileFormats.Psd.FontBaseline
- F:Aspose.PSD.FileFormats.Psd.FontBaseline.None
- F:Aspose.PSD.FileFormats.Psd.FontBaseline.Superscript
- F:Aspose.PSD.FileFormats.Psd.FontBaseline.Subscript
- T:Aspose.PSD.FileFormats.Psd.FontCaps
- F:Aspose.PSD.FileFormats.Psd.FontCaps.None
- F:Aspose.PSD.FileFormats.Psd.FontCaps.SmallCaps
- F:Aspose.PSD.FileFormats.Psd.FontCaps.AllCaps
- M:Aspose.PSD.FileFormats.Psd.PsdImage.AddBlackWhiteAdjustmentLayer
- F:Aspose.PSD.FileFormats.Psd.Layers.BlendMode.Absent
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerGroup.BlendModeKey
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.FauxBold
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.FauxItalic
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.Underline
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.Strikethrough
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.FontBaseline
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.BaselineShift
- P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.FontCaps
- M:Aspose.PSD.FileFormats.Psd.Layers.Text.IText.ProducePortions(System.String[],Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle,Aspose.PSD.FileFormats.Psd.Layers.Text.ITextParagraph)
APIs supprimées :
- Aucune
Exemples d’utilisation :
PSDNET-523. Convertir des fichiers Adobe Illustrator en PDF
string fichierSource = "rect2_color.ai";
using (var aiImage = (AiImage)Image.Load(fichierSource))
{
aiImage.Save("rect2_color.ai_output.pdf", new PdfOptions());
}
PSDNET-212. Ajouter la capacité de rendre différents styles dans une couche de texte
string fichierSource = "text212.psd";
string fichierEthalon = "Ethalon_text212.psd";
string fichierSortie = "Output_text212.psd";
using (var img = (PsdImage)Image.Load(fichierSource))
{
TextLayer coucheTexte = (TextLayer)img.Layers[1];
IText donnéesTexte = coucheTexte.TextData;
ITextStyle styleParDéfaut = donnéesTexte.ProducePortion().Style;
ITextParagraph paragrapheParDéfaut = donnéesTexte.ProducePortion().Paragraph;
styleParDéfaut.FillColor = Color.DimGray;
styleParDéfaut.FontSize = 51;
donnéesTexte.Items[1].Style.Strikethrough = true;
ITextPortion[] nouvellesPortions = donnéesTexte.ProducePortions(new string[] { "E=mc", "2\r", "Gras", "Italique\r", "Texte en minuscules" }, styleParDéfaut, paragrapheParDéfaut);
nouvellesPortions[0].Style.Underline = true; // modifier le style du texte "E=mc"
nouvellesPortions[1].Style.FontBaseline = FontBaseline.Superscript; // modifier le style du texte "2\r"
nouvellesPortions[2].Style.FauxBold = true; // modifier le style du texte "Gras"
nouvellesPortions[3].Style.FauxItalic = true; // modifier le style du texte "Italique\r"
nouvellesPortions[3].Style.BaselineShift = -25; // modifier le style du texte "Italique\r"
nouvellesPortions[4].Style.FontCaps = FontCaps.SmallCaps; // modifier le style du texte "Texte en minuscules"
foreach (var nouvellePortion in nouvellesPortions)
{
donnéesTexte.AddPortion(nouvellePortion);
}
donnéesTexte.UpdateLayerData();
img.Save(fichierSortie);
}
PSDNET-233. Ajouter le support de l’exportation du format AI (Version 8) vers d’autres formats
// Exemple d'exportation d'un fichier AI en format PSD et PNG
string nomFichierSource = "form_8.ai";
string nomFichierSortie = "form_8_export";
using (AiImage image = (AiImage)Image.Load(nomFichierSource))
{
image.Save(nomFichierSortie + ".psd", new PsdOptions());
image.Save(nomFichierSortie + ".png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}
PSDNET-540. Support du mode de fusion PassThrough (Utilisé uniquement pour les groupes de calques).
void AssertIsTrue(bool condition, string message)
{
if (!condition)
{
throw new FormatException(message);
}
}
string nomFichierSource = "Pomme.psd";
string nomFichierSortie = "Sortie" + nomFichierSource;
using (PsdImage image = (PsdImage)Image.Load(nomFichierSource))
{
AssertIsTrue(image.Layers.Length >= 23, "Il n'y a pas de 23e couche.");
var couche = image.Layers[23] as LayerGroup;
AssertIsTrue(couche != null, "La 23e couche n'est pas un groupe de calques.");
AssertIsTrue(couche.Name == "GroupeAjustement", "Le nom de la 23e couche n'est pas 'GroupeAjustement'.");
AssertIsTrue(couche.BlendModeKey == BlendMode.PassThrough, "La couche de GroupeAjustement devrait avoir le mode de fusion 'pass through'.");
image.Save(nomFichierSortie, new PsdOptions());
image.Save("SortiePomme.png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
couche.BlendModeKey = BlendMode.Normal;
image.Save("Normal" + nomFichierSortie, new PsdOptions());
image.Save("NormalSortiePomme.png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });
}
SPSDNET-180. La mise à jour du texte dans une couche de texte lance une exception
// La mise à jour du texte dans une couche de texte lance une exception
string cheminFichier = "FlipVertical.psd";
string cheminSortie = "FlipVertical_modifie.psd";
var nouveauTexte = "Test";
using (var image = Image.Load(cheminFichier))
{
var psdImage = image as PsdImage;
if (image == null)
{
return;
}
var couches = psdImage.Layers;
for (var index = couches.Length - 1; index >= 0; index--)
{
var couche = couches[index] as TextLayer;
if (couche == null)
{
continue;
}
couche.UpdateText(nouveauTexte);
}
var optionsImage = new PsdOptions(psdImage);
psdImage.Save(cheminSortie, optionsImage);
}
PSDNET-182. Enregistrer l’image PSD après une opération RotateFlip produit un fichier corrompu qui ne peut pas être ouvert.
string nomFichierSource = "1.psd";
RotateFlipType typeRetournement = RotateFlipType.Rotate270FlipXY;
string nomFichierSortiePsd = "TestRotateFlip2617.psd";
using (PsdImage image = (PsdImage)Image.Load(nomFichierSource))
{
image.RotateFlip(typeRetournement);
image.Save(nomFichierSortiePsd);
}
// Devrait être exécuté sans exceptions
using (PsdImage image = (PsdImage)Image.Load(nomFichierSortiePsd))
{
// Ne rien faire
}
PSDNET-539. Exception: Échec du chargement de l’image lors du chargement de l’image avec une ressource de noms Alpha Unicode vide
string cheminSource = "pomme.psd";
using (var psdImage = (PsdImage)Image.Load(cheminSource)) // Ici, nous ne devrions pas obtenir d'exceptions
{
// ne rien faire
}
PSDNET-541. Sortie incorrecte après avoir modifié la visibilité d’un groupe de calques
string fichierSource = "entrée.psd";
string fichierSortie = "sortie.psd";
// effectuer des changements dans les noms des calques et enregistrer
using (var image = (PsdImage)Image.Load(fichierSource))
{
for (int i = 0; i < image.Layers.Length; i++)
{
var calque = image.Layers[i];
// Désactiver tout à l'intérieur d'un groupe
if (calque is LayerGroup)
{
calque.IsVisible = false;
}
}
image.Save(fichierSortie);
}
PSDNET-516. Exception lors du chargement de l’image PSD : La section de couleur (Ressource ombre portée) doit contenir 3 composants de couleur pour RVB ou 4 composants de couleur pour CMJN
string fichierSource = "sss0136=GUID-SSS0136=1=ar-sa=Low.psd";
using (var img = (PsdImage)Image.Load(fichierSource)) // Ici, nous ne devrions pas obtenir d'exceptions
{
// ne rien faire
}
PSDNET-536. Exception si vous essayez de dessiner sur une couche nouvellement créée si la version simple du constructeur est utilisée
string fichierSortie = "sortie.psd";
int largeur = 100;
int hauteur = 100;
using (var image = new PsdImage(largeur, hauteur))
{
var calque = new Calque();
calque.Bottom = hauteur;
calque.Right = largeur;
image.AddLayer(calque);
Graphics graphique = new Graphics(calque);
graphique.Clear(Color.Yellow);
// dessiner un rectangle avec l'outil Crayon
graphique.DrawRectangle(new Pen(Color.Red), new Rectangle(30, 10, 40, 80));
// dessiner un autre rectangle avec une brosse unie en couleur bleue
graphique.DrawRectangle(new Pen(new SolidBrush(Color.Blue)), new Rectangle(10, 30, 80, 40));
image.Save(fichierSortie);
}