Note sulla release di Aspose.PSD per .NET 20.4
Contents
 [
      
        Hide
      ]
    
Questa pagina contiene le note sulla release di Aspose.PSD per .NET 20.4
| Chiave | Sommario | Categoria | 
|---|---|---|
| PSDNET-567 | Supporto del’risorsa ‘Dati di origine vettoriale’ | Feature | 
| PSDNET-373 | Supporto dell’risorsa lclrResource (impostazione del colore del foglio) | Feature | 
| PSDNET-563 | Supporto delle proprietà dei dati LengthRecord (operazioni sui percorsi (operazioni booleane), indice della forma nel livello, conteggio dei record di nodi di Bezier) | Feature | 
| PSDNET-425 | Supporto del colore di sfondo dell’risorsa della sezione immagine n. 1010 | Feature | 
| PSDNET-530 | Aggiunta di livelli di riempimento in tempo di esecuzione | Feature | 
| PSDNET-424 | Supporto dell’risorsa della sezione immagine n. 1009 con informazioni sui bordi | Feature | 
| PSDNET-592 | Supporto dei livelli nei file di formato AI | Feature | 
| PSDNET-256 | Supporto lettura e modifica dell’effetto di sovrapposizione gradiente del livello | Feature | 
| PSDNET-257 | Rendering dell’effetto di sovrapposizione gradiente del livello | Feature | 
| PSDNET-585 | I cambiamenti della proprietà BlendMode di GradientOverlayEffect non vengono visualizzati in Photoshop | Bug | 
| PSDNET-561 | Correzione del salvataggio dell’immagine PSD con ColorMode scala di grigi e 16 bit per canale nel formato PSD scala di grigi | Bug | 
| PSDNET-560 | Correzione del salvataggio dell’immagine PSD con ColorMode scala di grigi e 16 bit per canale nel formato PNG | Bug | 
Modifiche all’API pubblica
API aggiunte:
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.Name
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.IsTemplate
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.IsLocked
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.IsShown
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.IsPrinted
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.IsPreview
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.IsImagesDimmed
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.DimValue
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.ColorNumber
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.Red
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.Green
- P:Aspose.PSD.FileFormats.Ai.AiLayerSection.Blue
- M:Aspose.PSD.FileFormats.Psd.Layers.FillLayers.FillLayer.CreateInstance(Aspose.PSD.FileFormats.Psd.Layers.FillSettings.FillType)
- T:Aspose.PSD.FileFormats.Psd.Resources.BackgroundColorResource
- M:Aspose.PSD.FileFormats.Psd.Resources.BackgroundColorResource.#ctor
- P:Aspose.PSD.FileFormats.Psd.Resources.BackgroundColorResource.DataSize
- P:Aspose.PSD.FileFormats.Psd.Resources.BackgroundColorResource.MinimalVersion
- P:Aspose.PSD.FileFormats.Psd.Resources.BackgroundColorResource.Color
- T:Aspose.PSD.FileFormats.Psd.Resources.BorderInformationResource
- M:Aspose.PSD.FileFormats.Psd.Resources.BorderInformationResource.#ctor
- P:Aspose.PSD.FileFormats.Psd.Resources.BorderInformationResource.DataSize
- P:Aspose.PSD.FileFormats.Psd.Resources.BorderInformationResource.MinimalVersion
- P:Aspose.PSD.FileFormats.Psd.Resources.BorderInformationResource.Width
- P:Aspose.PSD.FileFormats.Psd.Resources.BorderInformationResource.Unit
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.BezierKnotRecord.#ctor
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.InitialFillRuleRecord.#ctor(System.Boolean)
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.LengthRecord.#ctor
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.LengthRecord.BezierKnotRecordsCount
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.LengthRecord.PathOperations
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.LengthRecord.ShapeIndex
- T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VogkResource
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VogkResource.#ctor
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VogkResource.Save(Aspose.PSD.StreamContainer,System.Int32)
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VogkResource.TypeToolKey
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VogkResource.Signature
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VogkResource.Key
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VogkResource.PsdVersion
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VogkResource.Version
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VogkResource.Length
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VogkResource.ShapeOriginSettings
- T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.VectorShapeOriginSettings
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.VectorShapeOriginSettings.#ctor(System.Boolean,System.Int32)
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.VectorShapeOriginSettings.IsShapeInvalidated
- P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.VectorShapeOriginSettings.OriginIndex
- T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.PathOperations
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.PathOperations.ExcludeOverlappingShapes
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.PathOperations.CombineShapes
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.PathOperations.SubtractFrontShape
- F:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPaths.PathOperations.IntersectShapeAreas
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPathDataResource.#ctor
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VsmsResource.#ctor
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VmskResource.#ctor
- M:Aspose.PSD.FileFormats.Psd.Layers.FillSettings.GradientColorPoint.#ctor(Aspose.PSD.Color,System.Int32,System.Int32)
API rimosse:
- Nessuna
Esempi di utilizzo:
PSDNET-567. Supporto dell’risorsa ‘Dati di origine vettoriale’
         // Supporto di VogkResource
        static void EsempioDiSupportoDiVogkResource()
        {
            string nomeFile = "RisorseDiOrigineVettoriale.psd";
            string nomeFileOut = "out_RisorseDiOrigineVettoriale_.psd";
            using (var psdImmagine = (PsdImmagine)Immagine.Carica(nomeFile))
            {
                var risorsa = OttieniVogkResource(psdImmagine);
                // Lettura
                if (risorsa.ShapeOriginSettings.Length != 1 ||
                    !risorsa.ShapeOriginSettings[0].IsShapeInvalidated ||
                    risorsa.ShapeOriginSettings[0].OriginIndex != 0)
                {
                    lanciare nuovo Eccezione("VogkResource è stato letto in modo errato.");
                }
                // Modifica
                risorsa.ShapeOriginSettings = nuovo[]
                {
                    risorsa.ShapeOriginSettings[0],
                    nuovo VectorShapeOriginSettings(true, 1)
                };
                psdImmagine.Salva(nomeFileOut);
            }
        }
        static VogkResource OttieniVogkResource(PsdImmagine immagine)
        {
            var layer = immagine.Layers[1];
            VogkResource risorsa = null;
            var risorse = layer.Risorse;
            per int i = 0; i < risorse.Length; i++)
            {
                if (risorse[i] è VogkResource)
                {
                    risorsa = (VogkResource)risorse[i];
                    pausa;
                }
            }
            se (risorsa == null)
            {
                lanciare nuovo Eccezione("Risorsa Vogk non trovata.");
            }
            tornare risorsa;
        }   PSDNET-373. Supporto dell’risorsa lclrResource (impostazione del colore del foglio)
         static void ControllaColoriFoglioEInverti(ColoriEvidenziazioneFoglio[] coloriFoglio, PsdImmagine immagine)
        {
            int numeroLivelli = immagine.Layers.Length;
            per (int indiceLivello = 0; indiceLivello < numeroLivelli; indiceLivello++)
            {
                Livello livello = immagine.Layers[indiceLivello];
                LayerResource[] risorse = livello.Risorse;
                per ogni (LayerResource risorsaLivello in risorse)
                {
                    // La risorsa lclr è sempre presente nell'elenco delle risorse dei file psd.
                    LclrResource risorsa = risorsaLivello come LclrResource;
                    se (risorsa != null)
                    {
                        se (risorsa.Color != coloriFoglio[indiceLivello])
                        {
                            lanciare nuovo Eccezione("Il colore del foglio è stato letto in modo errato");
                        }
                        // Inversione dei colori degli stili del foglio. Impostare del colore di evidenziazione del livello.
                        risorsa.Color = coloriFoglio[numeroLivelli - indiceLivello - 1];
                        pausa;
                    }
                }
            }
        }
            string percorsoFileSorgente = "TuttiIColoriRisorsaLclr.psd";
            string percorsoFileOutput = "TuttiIColoriRisorsaLclrInvertiti.psd";
            // Nel file i colori dell'evidenziazione dei livelli sono in questo ordine
            ColoriEvidenziazioneFoglio[] coloriFoglio = nuovo ColoriEvidenziazioneFoglio[] {
                ColoriEvidenziazioneFoglio.Rosso,
                ColoriEvidenziazioneFoglio.Arancione,
                ColoriEvidenziazioneFoglio.Giallo,
                ColoriEvidenziazioneFoglio.Verde,
                ColoriEvidenziazioneFoglio.Blu,
                ColoriEvidenziazioneFoglio.Viola,
                ColoriEvidenziazioneFoglio.Grizz,
                ColoriEvidenziazioneFoglio.NessunColore
            };            
            // Il colore del foglio del livello viene utilizzato per evidenziare visualmente i livelli. 
            // Ad esempio è possibile aggiornare alcuni livelli in un file PSD e poi evidenziare con un colore il livello su cui si desidera attirare l'attenzione.
            using (PsdImmagine immagine = (PsdImmagine)Immagine.Carica(percorsoFileSorgente))
            {
                ControllaColoriFoglioEInverti(coloriFoglio, immagine);
                immagine.Salva(percorsoFileOutput, nuovo PsdOpzioni());
            }
            usando (PsdImmagine immagine = (PsdImmagine)Immagine.Carica(percorsoFileOutput))
            {
                // I colori dovrebbero essere invertiti
                Array.Reverse(coloriFoglio);
                ControllaColoriFoglioEInverti(coloriFoglio, immagine);
            }PSDNET-563. Supporto delle proprietà dei dati LengthRecord (operazioni sui percorsi (operazioni booleane), indice della forma nel livello, conteggio dei record di nodi di Bezier)
            string nomeFile = "PercorsoOperazioniForma.psd";
            using (var im = (PsdImmagine)Immagine.Carica(nomeFile))
            {
                VsmsResource risorsa = null;
                per ogni (var risorsaLivello in im.Layers[1].Risorse)
                {
                    se (risorsaLivello è VsmsResource)
                    {
                        risorsa = (VsmsResource)risorsaLivello;
                        pausa;
                    }
                }
                LengthRecord lengthRecord0 = (LengthRecord)risorsa.Paths[2];
                LengthRecord lengthRecord1 = (LengthRecord)risorsa.Paths[7];
                LengthRecord lengthRecord2 = (LengthRecord)risorsa.Paths[11];
                // Qui stiamo cambiando il modo di combinare le forme.
                lengthRecord0.PathOperations = PathOperations.ExcludeOverlappingShapes;
                lengthRecord1.PathOperations = PathOperations.IntersectShapeAreas;
                lengthRecord2.PathOperations = PathOperations.SubtractFrontShape;
                im.Salva("out_" + nomeFile);
            }PSDNET-425. Supporto del colore di sfondo dell’risorsa della sezione immagine n. 1010
             string percorsoFileSorgente = "input.psd";
            string percorsoFileOutput = "output.psd";
            using (var immagine = (PsdImmagine)Immagine.Carica(percorsoFileSorgente))
            {
                ResourceBlock[] risorseImmagine = immagine.ImageResources;
                BackgroundColorResource risorsaColoreSfondo = null;
                per ogni (var risorsaImmagine in risorseImmagine)
                {
                    se (risorsaImmagine è BackgroundColorResource)
                    {
                        risorsaColoreSfondo = (BackgroundColorResource)risorsaImmagine;
                        pausa;
                    }
                }
                // aggiornare BackgroundColorResource
                risorsaColoreSfondo.Color = Colore.DeepRed;
                immagine.Salva(percorsoFileOutput);
            }PSDNET-530. Aggiunta di livelli di riempimento in tempo di esecuzione
             string psdOutput = "output.psd";
            using (var immagine = new PsdImmagine(100, 100))
            {
                FillLayer coloreLivelloFill = FillLayer.CreateInstance(FillType.Color);
                coloreLivelloFill.DisplayName = "Livello di riempimento del colore";
                immagine.AddLayer(coloreLivelloFill);
                FillLayer coloLivelloGradient = FillLayer.CreateInstance(FillType.Gradient);
                coloLivelloGradient.DisplayName = "Livello di riempimento sfumato";
                immagine.AddLayer(coloLivelloGradient);
                FillLayer patternFillLayer = FillLayer.CreateInstance(FillType.Pattern);
                patternFillLayer.DisplayName = "Livello di riempimento modello";
                patternFillLayer.Opacity = 50;
                immagine.AddLayer(patternFillLayer);
                immagine.Salva(psdOutput);
            }PSDNET-424. Supporto dell’risorsa della sezione immagine n. 1009 con informazioni sui bordi
             string percorsoFileSorgente = "input.psd";
            string percorsoFileOutput = "output.psd";
            using (var immagine = (PsdImmagine)Immagine.Carica(percorsoFileSorgente))
            {
                ResourceBlock[] risorseImmagine = immagine.ImageResources;
                BorderInformationResource risorsaInfoBordo = null;
                per ogni (var risorsaImmagine in risorseImmagine)
                {
                    se (risorsaImmagine è BorderInformationResource)
                    {
                        risorsaInfoBordo = (BorderInformationResource)risorsaImmagine;
                        pausa;
                    }
                }
                // aggiornare BorderInformationResource
                risorsaInfoBordo.Width = 0.1;
                risorsaInfoBordo.Unit = PhysicalUnit.Inches;
                immagine.Salva(percorsoFileOutput);
            }PSDNET-592. Supporto dei livelli nei file di formato AI
         vuoto AssertIsTrue(booleano condizione, stringa messaggio)
        {
            se (!condizione)
            {
                lanciare nuovo FormatException(messaggio);
            }
        }
        string nomeFileSorgente = "form_8_2l3_7.ai";
        string nomeFileOutput = "esportazione_form_8_2l3_7";
        usando (AiImmagine immagine = (AiImmagine)Immagine.Carica(nomeFileSorgente))
        {
            AiLayerSection layer0 = immagine.Layers[0];
            AssertIsTrue(layer0 != null, "Il Livello 0 dovrebbe non essere nullo.");
            AssertIsTrue(layer0.Name == "Layer 4", "La proprietà Nome del livello 0 dovrebbe essere Layer 4");
            AssertIsTrue(!layer0.IsTemplate, "La proprietà IsTemplate del livello 0 dovrebbe essere falsa.");