Aspose.PSD per .NET 23.5 - Note sulla versione
Contents
 [
      
        Hide
      ]
    
Questa pagina contiene le note sulla versione per Aspose.PSD per .NET 23.5
| Chiave | Sommario | Categoria | 
|---|---|---|
| PSDNET-343 | Supporto del Filtro: Nitidezza -> Nitidezza | Funzionalità | 
| PSDNET-1179 | Salvataggio del file PSD (RGB/8bit o RGB/16bit) senza livelli a 32bit | Funzionalità | 
| PSDNET-1408 | Implementare la gestione di oggetti di percorso da risorse vsms o vmsk per ShapeLayer | Funzionalità | 
| PSDNET-1508 | Aggiunta dell’influenza dei punti di maglia gli uni sugli altri | Funzionalità | 
Modifiche all’API pubblica
API aggiunte:
- M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr32Resource.#ctor
 - T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LrXxResource
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LrXxResource.#ctor
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LrXxResource.Key
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LrXxResource.Layers
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LrXxResource.Length
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LrXxResource.PsdVersion
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LrXxResource.Signature
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.LrXxResource.Save(Aspose.PSD.StreamContainer,System.Int32)
 - T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPath
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPath.IsInverted
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPath.IsNotLinked
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPath.IsDisabled
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPath.GetItems
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPath.SetItems(Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPathShape[])
 - T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPathShape
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPathShape.IsClosed
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPathShape.PathOperations
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPathShape.GetItems
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPathShape.SetItems(Aspose.PSD.FileFormats.Core.VectorPaths.BezierKnotRecord[])
 - T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IStrokeSettings
 - T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PathShape
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PathShape.#ctor
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PathShape.#ctor(Aspose.PSD.FileFormats.Core.VectorPaths.LengthRecord,Aspose.PSD.FileFormats.Core.VectorPaths.BezierKnotRecord[])
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PathShape.IsClosed
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PathShape.PathOperations
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PathShape.ShapeIndex
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PathShape.GetItems
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PathShape.SetItems(Aspose.PSD.FileFormats.Core.VectorPaths.BezierKnotRecord[])
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.PathShape.ToVectorPathRecords
 - T:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPath
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPath.#ctor
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPath.IsFillStartsWithAllPixels
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPath.FillColor
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPath.Version
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPath.IsDisabled
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPath.IsNotLinked
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPath.IsInverted
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPath.GetItems
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.VectorPath.SetItems(Aspose.PSD.FileFormats.Psd.Layers.LayerResources.IPathShape[])
 - T:Aspose.PSD.FileFormats.Psd.Layers.SmartFilters.SharpenSmartFilter
 - M:Aspose.PSD.FileFormats.Psd.Layers.SmartFilters.SharpenSmartFilter.#ctor
 - M:Aspose.PSD.FileFormats.Psd.Layers.SmartFilters.SharpenSmartFilter.#ctor(Aspose.PSD.FileFormats.Psd.Layers.LayerResources.TypeToolInfoStructures.DescriptorStructure)
 - P:Aspose.PSD.FileFormats.Psd.Layers.SmartFilters.SharpenSmartFilter.Name
 - P:Aspose.PSD.FileFormats.Psd.Layers.SmartFilters.SharpenSmartFilter.FilterId
 - F:Aspose.PSD.FileFormats.Psd.Layers.SmartFilters.SharpenSmartFilter.FilterType
 
API rimosse:
- M:Aspose.PSD.FileFormats.Core.VectorPaths.VectorPathRecordFactory.#ctor
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr16Resource.Key
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr16Resource.Layers
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr16Resource.Length
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr16Resource.PsdVersion
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr16Resource.Signature
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr16Resource.Save(Aspose.PSD.StreamContainer,System.Int32)
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr32Resource.#ctor(System.Int32)
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr32Resource.Key
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr32Resource.Layers
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr32Resource.Length
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr32Resource.PsdVersion
 - P:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr32Resource.Signature
 - M:Aspose.PSD.FileFormats.Psd.Layers.LayerResources.Lr32Resource.Save(Aspose.PSD.StreamContainer,System.Int32)
 
Esempi d’uso:
PSDNET-343. Supporto del Filtro: Nitidezza -> Nitidezza
string fileSorgente = "nitidezza_sorgente.psd";
string fileOutputPsd = "nitidezza_output.psd";
string fileOutputPng = "nitidezza_output.png";
void AssertAreEqual(object previsto, object effettivo)
{
    if (!object.Equals(previsto, effettivo))
    {
        throw new Exception("Gli oggetti non sono uguali.");
    }
}
using (var immagine = (PsdImage)Image.Load(fileSorgente))
{
    SmartObjectLayer smartObj = (SmartObjectLayer)immagine.Layers[1];
    // modifica dei filtri intelligenti
    SharpenSmartFilter sharp = (SharpenSmartFilter)smartObj.SmartFilters.Filters[0];
    // verifica dei valori del filtro
    AssertAreEqual(BlendMode.Normal, sharp.BlendMode);
    AssertAreEqual(100d, sharp.Opacity);
    AssertAreEqual(true, sharp.IsEnabled);
    // aggiornamento dei valori del filtro
    sharp.BlendMode = BlendMode.Divide;
    sharp.Opacity = 75;
    sharp.IsEnabled = false;
    // aggiunta di nuovi elementi al filtro
    var filtri = new List<SmartFilter>(smartObj.SmartFilters.Filters);
    filtri.Add(new SharpenSmartFilter());
    smartObj.SmartFilters.Filters = filtri.ToArray();
    // applicazione delle modifiche
    smartObj.SmartFilters.UpdateResourceValues();
    smartObj.UpdateModifiedContent();
    immagine.Save(fileOutputPsd);
    immagine.Save(fileOutputPng, new PngOptions());
}
PSDNET-1179. Salvataggio del file PSD (RGB/8bit o RGB/16bit) senza livelli a 32bit
string fileInput =  "input_8bit_rle.psd";
string fileOutputPsd = "output_32bit.psd";
string fileOutputImage32 = "output_da_32bit.png";
using (PsdImage imgSorg = (PsdImage)Image.Load(fileInput))
{
    PsdOptions opzioniTotali = new PsdOptions() { ChannelBitsCount = 32, ColorMode = ColorModes.Rgb };
    imgSorg.Save(fileOutputPsd, opzioniTotali);
    using (var img32 = Image.Load(fileOutputPsd))
    {
        img32.Save(fileOutputImage32, new PngOptions() { ColorType = PSD.FileFormats.Png.PngColorType.TruecolorWithAlpha });
    }
}
PSDNET-1408. Implementare la gestione di oggetti di percorso da risorse vsms o vmsk per ShapeLayer
string fileSrc = "TestShapeLayer.psd";
string fileOut = "TestShapeLayer-out.psd";
using (PsdImage immagine = (PsdImage)Image.Load(fileSrc, new PsdLoadOptions { LoadEffectsResource = true }))
{
    Layer shapeLayer = immagine.Layers[1];
    VectorPathDataResource vectorPathDataResource = (VectorPathDataResource)shapeLayer.Resources[1];
    bool isFillStartsWithAllPixels;
    List<IPathShape> shapes = GetShapesFromResource(vectorPathDataResource, out isFillStartsWithAllPixels);
    // Rimozione di una forma
    shapes.RemoveAt(1);
    // Salvataggio delle modifiche alle risorse
    List<VectorPathRecord> percorso = new List<VectorPathRecord>();
    percorso.Add(new PathFillRuleRecord(null));
    percorso.Add(new InitialFillRuleRecord(isFillStartsWithAllPixels));
    for (ushort i = 0; i < shapes.Count; i++)
    {
        PathShape forma = (PathShape)shapes[i];
        forma.ShapeIndex = i;
        percorso.AddRange(forma.ToVectorPathRecords());
    }
    vectorPathDataResource.Paths = percorso.ToArray();
    immagine.Save(fileOut);
}
// Verifica dei valori modificati nel file salvato
using (PsdImage immagine = (PsdImage)Image.Load(fileOut, new PsdLoadOptions { LoadEffectsResource = true }))
{
    Layer shapeLayer = immagine.Layers[1];
    VectorPathDataResource vectorPathDataResource = (VectorPathDataResource)shapeLayer.Resources[1];
    bool isFillStartsWithAllPixels;
    List<IPathShape> shapes = GetShapesFromResource(vectorPathDataResource, out isFillStartsWithAllPixels);
    // Il file salvato dovrebbe avere 1 forma
    AssertAreEqual(1, shapes.Count);
}
PSDNET-1508. Aggiunta dell’influenza dei punti di maglia gli uni sugli altri
string fileSorgente = "Bottom_Right.psd";
string fileOutput = "output.png";
using (var immagine = (PsdImage)Image.Load(fileSorgente, new PsdLoadOptions { AllowWarpRepaint = true }))
{
    immagine.Save(fileOutput, new PngOptions { ColorType = PngColorType.TruecolorWithAlpha});
}