Note sulla versione di Aspose.PSD per .NET 20.3

Chiave Sommario Categoria
PSDNET-188 Supporto di .Net Core Funzionalità
PSDNET-523 Converti file Adobe Illustrator in PDF Funzionalità
PSDNET-212 Aggiungi la capacità di rendere diversi stili in un singolo livello di testo Funzionalità
PSDNET-144 Supporto di Livello di regolazione Bianco e Nero Funzionalità
PSDNET-233 Aggiungi supporto per l’esportazione del formato AI (Versione 8) in altri formati Funzionalità
PSDNET-540 Supporto della modalità di blending PassThrough (Utilizzata solo per Gruppo di Livelli). Funzionalità
PSDNET-539 Eccezione: Caricamento immagine non riuscito durante il caricamento dell’immagine con risorsa di nomi Unicode Alpha vuoti Errore
PSDNET-541 Output incorretto dopo il cambiamento di visibilità di un LayerGroup Errore
PSDNET-516 Eccezione durante il caricamento immagine PSD: la sezione del colore (Risorsa DropShadow) deve contenere 3 componenti di colore per RGB o 4 componenti di colore per CMYK Errore
PSDNET-536 Eccezione se si cerca di disegnare su un livello appena creato se viene utilizzata la versione semplificata del Costruttore Errore

Modifiche all’API pubblica

API aggiunte:

  • 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.Sottolineatura
  • P:Aspose.PSD.FileFormats.Psd.Layers.Text.ITextStyle.Barrato
  • 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)

API rimosse:

  • Nessuna

Esempi di utilizzo:

PSDNET-523. Converti file Adobe Illustrator in PDF

 string sourceFile = "rect2_color.ai";

using (var aiImage = (AiImage)Image.Load(sourceFile))

{

    aiImage.Save("rect2_color.ai_output.pdf", new PdfOptions());

}

PSDNET-212. Aggiungi la capacità di rendere diversi stili in un singolo livello di testo

 string sourceFile = "text212.psd";

string ethalonFile = "Ethalon_text212.psd";

string outputFile = "Output_text212.psd";

using (var img = (PsdImage)Image.Load(sourceFile))

{

    TextLayer textLayer = (TextLayer)img.Layers[1];

    IText textData = textLayer.TextData;

    ITextStyle defaultStyle = textData.ProducePortion().Style;

    ITextParagraph defaultParagraph = textData.ProducePortion().Paragraph;

    defaultStyle.FillColor = Color.DimGray;

    defaultStyle.FontSize = 51;

    textData.Items[1].Style.Strikethrough = true;

    ITextPortion[] newPortions = textData.ProducePortions(new string[] { "E=mc",  "2\r",  "Grassetto",  "Corsivo\r",  "Testo in maiuscolo" }, defaultStyle, defaultParagraph);

    newPortions[0].Style.Underline = true; // modifica stile testo "E=mc"

    newPortions[1].Style.FontBaseline = FontBaseline.Superscript; // modifica stile testo "2\r"

    newPortions[2].Style.FauxBold = true; // modifica stile testo "Grassetto"

    newPortions[3].Style.FauxItalic = true; // modifica stile testo "Corsivo\r"

    newPortions[3].Style.BaselineShift = -25; // modifica stile testo "Corsivo\r"

    newPortions[4].Style.FontCaps = FontCaps.SmallCaps; // modifica stile testo "Testo in maiuscolo"

    foreach (var newPortion in newPortions)

    {

        textData.AddPortion(newPortion);

    }

    textData.UpdateLayerData();

    img.Save(outputFile);

}

PSDNET-233. Aggiungi supporto per l’esportazione del formato AI (Versione 8) in altri formati

 // Esempio di esportazione di un file AI nei formati PSD e PNG

string sourceFileName = "form_8.ai";

string outputFileName = "form_8_export";

using (AiImage image = (AiImage)Image.Load(sourceFileName))

{

    image.Save(outputFileName + ".psd", new PsdOptions());

    image.Save(outputFileName + ".png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });

}

PSDNET-540. Supporto della modalità di blending PassThrough (Utilizzata solo per Gruppo di Livelli).

 void AssertIsTrue(bool condition, string message)

{

    if (!condition)

    {

        throw new FormatException(message);

    }

}

string sourceFileName = "Mela.psd";

string outputFileName = "Output" + sourceFileName;

using (PsdImage image = (PsdImage)Image.Load(sourceFileName))

{

    AssertIsTrue(image.Layers.Length >= 23, "Non c'è il 23esimo livello.");

    var layer = image.Layers[23] as LayerGroup;

    AssertIsTrue(layer != null, "Il 23esimo livello non è un gruppo di livelli.");

    AssertIsTrue(layer.Name == "GruppoRegolazione", "Il nome del 23esimo livello non è 'GruppoRegolazione'.");

    AssertIsTrue(layer.BlendModeKey == BlendMode.PassThrough, "Il livello di GruppoRegolazione dovrebbe avere la modalità di blending 'pass through'.");

    image.Save(outputFileName, new PsdOptions());

    image.Save("OutputMela.png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });

    layer.BlendModeKey = BlendMode.Normal;

    image.Save("Normale" + outputFileName, new PsdOptions());

    image.Save("NormaleOutputMela.png", new PngOptions() { ColorType = PngColorType.TruecolorWithAlpha });

}

SPSDNET-180. Aggiornamento del testo del livello di testo genera un’eccezione

 // L'aggiornamento del testo del livello di testo genera un'eccezione

string filePath = "RibaltamentoVerticale.psd";

string outputPath = "RibaltamentoVerticale_modificato.psd";

var nuovoTesto = "Test";

using (var image = Image.Load(filePath))

{

    var psdImage = image as PsdImage;

    if (image == null)

    {

        return;

    }

    var layers = psdImage.Layers;

    for (var indice = layers.Length - 1; indice >= 0; indice--)

    {

        var livello = layers[indice] as TextLayer;

        if (livello == null)

        {

            continue;

        }

        livello.UpdateText(nuovoTesto);

    }

    var opzioniImmagine = new PsdOptions(psdImage);

    psdImage.Save(outputPath, opzioniImmagine);

}

PSDNET-182. Salvare l’immagine PSD dopo l’operazione RotateFlip produce un file corrotto che non può essere aperto.

 string nomeFileSorgente = "1.psd";

RotateFlipType tipoRibaltamento = RotateFlipType.Ruota270RibaltaXY;

string nomeFileOutputPsd = "ProvaRibaltamento2617.psd";

using (PsdImage immagine = (PsdImage)Image.Load(nomeFileSorgente))

{

    immagine.RotateFlip(tipoRibaltamento);

    immagine.Save(nomeFileOutputPsd);

}

// Dovrebbe essere eseguito senza eccezioni

using (PsdImage immagine = (PsdImage)Image.Load(nomeFileOutputPsd)) 

{

    // Non fare nulla

}

PSDNET-539. Eccezione: Caricamento immagine non riuscito durante il caricamento dell’immagine con risorsa di nomi Alpha Unicode vuoti

 string percorsoSorgente = "mela.psd";

using (var psdImage = (PsdImage)Image.Load(percorsoSorgente)) // Qui non dovremmo ottenere eccezioni

{

    // non fare nulla

}

PSDNET-541. Output incorretto dopo il cambiamento di visibilità di un LayerGroup

 string fileSorgente = "input.psd";

string fileOutput = "output.psd";

// effettua modifiche nei nomi dei livelli e salvalo

using (var immagine = (PsdImage)Image.Load(fileSorgente))

{

    for (int i = 0; i < immagine.Layers.Length; i++)

    {

        var livello = immagine.Layers[i];

        // Disattiva tutto all'interno di un gruppo

        if (livello is LayerGroup)

        {

            livello.IsVisible = false;

        }

    }

    immagine.Save(fileOutput);

}

PSDNET-516. Eccezione durante il caricamento immagine PSD: la sezione del colore (Risorsa DropShadow) deve contenere 3 componenti di colore per RGB o 4 componenti di colore per CMYK

 string fileSorgente = "sss0136=GUID-SSS0136=1=ar-sa=Low.psd";

using (var img = (PsdImage)Image.Load(fileSorgente)) // Qui non dovremmo ottenere eccezioni

{

    // non fare nulla

}

PSDNET-536. Eccezione se si cerca di disegnare su un livello appena creato se viene utilizzata la versione semplificata del Costruttore

 string fileOutput = "output.psd";

int larghezza = 100;

int altezza = 100;

using (var immagine = new PsdImage(larghezza, altezza))

{

    var livello = new Layer();

    livello.Bottom = altezza;

    livello.Right = larghezza;

    immagine.AddLayer(livello);

    Graphics grafico = new Graphics(livello);

    grafico.Clear(Color.Yellow);

    // disegna un rettangolo con lo strumento Penna

    grafico.DrawRectangle(new Pen(Color.Red), new Rectangle(30, 10, 40, 80));

    // disegna un altro rettangolo con Pennello Solido in colore Blu

    grafico.DrawRectangle(new Pen(new SolidBrush(Color.Blue)), new Rectangle(10, 30, 80, 40));

    immagine.Save(fileOutput);

}