Class PngOptions

PngOptions class

Il formato di file png crea opzioni.

public class PngOptions : ImageOptionsBase

Costruttori

NomeDescrizione
PngOptions()Inizializza una nuova istanza diPngOptions classe.
PngOptions(PngOptions)Inizializza una nuova istanza diPngOptions classe.

Proprietà

NomeDescrizione
BitDepth { get; set; }La profondità di bit.
BufferSizeHint { get; set; }Ottiene o imposta l’hint della dimensione del buffer che è definita dimensione massima consentita per tutti i buffer interni.
ColorType { get; set; }Ottiene o imposta il tipo di colore.
CompressionLevel { get; set; }Il livello di compressione dell’immagine png nell’intervallo 0-9, dove 9 è la compressione massima e 0 è la modalità di memorizzazione.
virtual DefaultReplacementFont { get; set; }Ottiene o imposta il carattere sostitutivo predefinito (carattere che verrà utilizzato per disegnare il testo durante l’esportazione in raster, se il carattere del livello esistente nel file PSD non è presentato nel sistema). Per prendere il nome corretto del carattere predefinito può essere utilizzato il prossimo frammento di codice : System.Drawing.Text.InstalledFontCollection col = new System.Drawing.Text.InstalledFontCollection(); System.Drawing.FontFamily[] famiglie = col.Families; string defaultFontName = famiglie[0].Name; PsdLoadOptions psdLoadOptions = new PsdLoadOptions() { DefaultReplacementFont = defaultFontName });
Disposed { get; }Ottiene un valore che indica se questa istanza è stata eliminata.
FilterType { get; set; }Ottiene o imposta il tipo di filtro utilizzato durante il processo di salvataggio del file png.
FullFrame { get; set; }Ottiene o imposta un valore che indica se [full frame].
MultiPageOptions { get; set; }Le opzioni multipagina
virtual Palette { get; set; }Ottiene o imposta la tavolozza dei colori.
ProgressEventHandler { get; set; }Ottiene o imposta il gestore dell’evento progress.
Progressive { get; set; }Ottiene o imposta un valore che indica se thisPngOptions è progressivo.
virtual ResolutionSettings { get; set; }Ottiene o imposta le impostazioni di risoluzione.
Source { get; set; }Ottiene o imposta l’origine in cui creare l’immagine.
VectorRasterizationOptions { get; set; }Ottiene o imposta le opzioni di rasterizzazione vettoriale.
override XmpData { get; set; }Ottiene o imposta il contenitore dei metadati XMP.

Metodi

NomeDescrizione
virtual Clone()Clona questa istanza.
Dispose()Elimina l’istanza corrente.

Campi

NomeDescrizione
const DefaultCompressionLevelIl livello di compressione predefinito.

Esempi

L’esempio seguente mostra come esportare file AI in formato PSD e PNG in Aspose.PSD

[C#]

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 });
}

Questo esempio dimostra l’uso di classi diverse da SaveOptions Namespace per scopi di esportazione. Un’immagine di tipo Psd viene caricata in un’istanza di Image e quindi esportata in diversi formati.

[C#]

//Carica un'immagine esistente in un'istanza della classe Image
using (Aspose.PSD.Image image = Aspose.PSD.Image.Load(@"C:\temp\image.psd"))
{
    //Esporta in formato file BMP utilizzando le opzioni predefinite
    image.Save(@"C:\temp\output.bmp", new Aspose.PSD.ImageOptions.BmpOptions());

    //Esporta in formato file JPEG utilizzando le opzioni predefinite
    image.Save(@"C:\temp\output.jpeg", new Aspose.PSD.ImageOptions.JpegOptions());

    //Esporta nel formato di file JPEG 2000 utilizzando le opzioni predefinite
    image.Save(@"C:\temp\output.jp2", new Aspose.PSD.ImageOptions.Jpeg2000Options());

    //Esporta in formato file PNG utilizzando le opzioni predefinite
    image.Save(@"C:\temp\output.png", new Aspose.PSD.ImageOptions.PngOptions());

    //Esporta in formato file TIFF utilizzando le opzioni predefinite
    image.Save(@"c:\temp\output.tiff", new Aspose.PSD.ImageOptions.TiffOptions(Aspose.PSD.FileFormats.Tiff.Enums.TiffExpectedFormat.Default));
}

L’esempio seguente mostra come utilizzare la modalità di fusione del livello PassThrough in Aspose.PSD

[C#]

string sourceFileName = "Apple.psd";
string outputFileName = "OutputApple";
using (PsdImage image = (PsdImage)Image.Load(sourceFileName))
{
    if (image.Layers.Length < 23)
    {
        throw new Exception("There is not 23rd layer.");
    }

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

    if (layer == null)
    {
        throw new Exception("The 23rd layer is not a layer group.");
    }

    if (layer.Name != "AdjustmentGroup")
    {
        throw new Exception("The 23rd layer name is not 'AdjustmentGroup'.");
    }

    if (layer.BlendModeKey != BlendMode.PassThrough)
    {
        throw new Exception("AdjustmentGroup layer should have 'pass through' blend mode.");
    }

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

    layer.BlendModeKey = BlendMode.Normal;

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

L’esempio seguente dimostra che l’avanzamento della conversione del documento funziona correttamente e senza eccezioni.

[C#]

string sourceFilePath = "Apple.psd";
Stream outputStream = new MemoryStream();

Aspose.PSD.ProgressEventHandler localProgressEventHandler = delegate(ProgressEventHandlerInfo progressInfo)
{
    string message = string.Format(
        "{0} {1}: {2} out of {3}",
        progressInfo.Description,
        progressInfo.EventType,
        progressInfo.Value,
        progressInfo.MaxValue);
    Console.WriteLine(message);
};

Console.WriteLine("---------- Loading Apple.psd ----------");
var loadOptions = new PsdLoadOptions() { ProgressEventHandler = localProgressEventHandler };
using (PsdImage image = (PsdImage)Image.Load(sourceFilePath, loadOptions))
{
    Console.WriteLine("---------- Saving Apple.psd to PNG format ----------");
    image.Save(
        outputStream,
        new PngOptions()
            {
                ColorType = PngColorType.Truecolor,
                ProgressEventHandler = localProgressEventHandler
            });

    Console.WriteLine("---------- Saving Apple.psd to PSD format ----------");
    image.Save(
        outputStream,
        new PsdOptions()
            {
                ColorMode = ColorModes.Rgb,
                ChannelsCount = 4,
                ProgressEventHandler = localProgressEventHandler
            });
}

Questo esempio usa la classe Graphics per creare forme primitive sulla superficie Image. Per dimostrare l’operazione, l’esempio crea una nuova immagine in formato PSD e disegna forme primitive sulla superficie dell’immagine usando i metodi Draw esposti dalla classe Graphics, quindi esportala nel formato di file PSD.

[C#]

//Crea un'istanza di Image 
using (Aspose.PSD.Image image = new Aspose.PSD.FileFormats.Psd.PsdImage(500, 500))
{
    //Crea e inizializza un'istanza della classe Graphics
    Aspose.PSD.Graphics graphics = new Aspose.PSD.Graphics(image);

    //Superficie grafica chiara
    graphics.Clear(Color.Wheat);

    // Disegna un arco specificando l'oggetto Pen di colore nero, 
    //a Rettangolo che circonda l'arco, l'angolo iniziale e l'angolo di apertura
    graphics.DrawArc(new Pen(Color.Black, 2), new Rectangle(200, 200, 100, 200), 0, 300);

    // Disegna un Bezier specificando l'oggetto Pen con colore blu e punti coordinati.
    graphics.DrawBezier(new Pen(Color.Blue, 2), new Point(250, 100), new Point(300, 30), new Point(450, 100), new Point(235, 25));

    // Disegna una curva specificando l'oggetto Pen di colore verde e un array di punti
    graphics.DrawCurve(new Pen(Color.Green, 2), new[] { new Point(100, 200), new Point(100, 350), new Point(200, 450) });

    // Disegna un'ellisse usando l'oggetto Pen e un rettangolo circostante
    graphics.DrawEllipse(new Pen(Color.Yellow, 2), new Rectangle(300, 300, 100, 100));

    //Disegna una linea 
    graphics.DrawLine(new Pen(Color.Violet, 2), new Point(100, 100), new Point(200, 200));

    // Disegna un segmento di torta
    graphics.DrawPie(new Pen(Color.Silver, 2), new Rectangle(new Point(200, 20), new Size(200, 200)), 0, 45);

    //Disegna un poligono specificando l'oggetto Pen di colore rosso e un array di punti
    graphics.DrawPolygon(new Pen(Color.Red, 2), new[] { new Point(20, 100), new Point(20, 200), new Point(220, 20) });

    //Disegna un rettangolo
    graphics.DrawRectangle(new Pen(Color.Orange, 2), new Rectangle(new Point(250, 250), new Size(100, 100)));

    //Crea un oggetto SolidBrush e imposta le sue varie proprietà
    Aspose.PSD.Brushes.SolidBrush brush = new Aspose.PSD.Brushes.SolidBrush();
    brush.Color = Color.Purple;
    brush.Opacity = 100;

    // Disegna una stringa usando l'oggetto e il carattere SolidBrush, in un punto specifico
    graphics.DrawString("This image is created by Aspose.PSD API", new Font("Times New Roman", 16), brush, new PointF(50, 400));

    //Crea un'istanza di PngOptions e imposta le sue varie proprietà
    Aspose.PSD.ImageOptions.PngOptions pngOptions = new Aspose.PSD.ImageOptions.PngOptions();

    // salva tutte le modifiche.
    image.Save("C:\\temp\\output.png", pngOptions);
}

Guarda anche