PngOptions

PngOptions class

Il formato 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 per la dimensione del buffer che è la dimensione massima consentita per tutti i buffer interni.
ColorType { get; set; }Ottiene o imposta il tipo del 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.
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 [fotogramma intero].
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 di avanzamento.
Progressive { get; set; }Ottiene o imposta un valore che indica se questoPngOptions è 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 del vettore.
override XmpData { get; set; }Ottiene o imposta il contenitore di metadati XMP.

Metodi

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

Campi

NomeDescrizione
const DefaultCompressionLevelIl livello di compressione predefinito.

Esempi

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

[C#]

string dir = "c:\\temp\\";

//Carica un'immagine esistente (di tipo Gif) in un'istanza della classe Image
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
    //Esporta in formato file BMP utilizzando le opzioni predefinite
    image.Save(dir + "output.bmp", new Aspose.Imaging.ImageOptions.BmpOptions());

    //Esporta in formato file JPEG utilizzando le opzioni predefinite
    image.Save(dir + "output.jpg", new Aspose.Imaging.ImageOptions.JpegOptions());

    //Esporta in formato file PNG utilizzando le opzioni predefinite
    image.Save(dir + "output.png", new Aspose.Imaging.ImageOptions.PngOptions());

    //Esporta in formato file TIFF utilizzando le opzioni predefinite
    image.Save(dir + "output.tif", new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default));
}

L’esempio seguente mostra come convertire un’immagine vettoriale multipagina in formato PNG in modo generale senza fare riferimento a un particolare tipo di immagine.

[C#]

string dir = "C:\\aspose.imaging\\net\\misc\\ImagingReleaseQATester\\Tests\\testdata\\2548";
string inputFilePath = System.IO.Path.Combine(dir, "Multipage.cdr");
string outputFilePath = System.IO.Path.Combine(dir, "Multipage.cdr.png");

Aspose.Imaging.ImageOptionsBase exportOptions = new Aspose.Imaging.ImageOptions.PngOptions();

using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(inputFilePath))
{
    exportOptions.MultiPageOptions = null;

    // Esporta solo le prime due pagine. In effetti, solo una pagina verrà rasterizzata perché PNG non è un formato multipagina.
    Aspose.Imaging.IMultipageImage multipageImage = image as Aspose.Imaging.IMultipageImage;
    if (multipageImage != null && (multipageImage.Pages != null && multipageImage.PageCount > 2))
    {
        exportOptions.MultiPageOptions = new Aspose.Imaging.ImageOptions.MultiPageOptions(new Aspose.Imaging.IntRange(0, 2));
    }

    if (image is Aspose.Imaging.VectorImage)
    {
        exportOptions.VectorRasterizationOptions = (Aspose.Imaging.ImageOptions.VectorRasterizationOptions)image.GetDefaultOptions(new object[] { Aspose.Imaging.Color.White, image.Width, image.Height });
        exportOptions.VectorRasterizationOptions.TextRenderingHint = Aspose.Imaging.TextRenderingHint.SingleBitPerPixel;
        exportOptions.VectorRasterizationOptions.SmoothingMode = Aspose.Imaging.SmoothingMode.None;
    }

    image.Save(outputFilePath, exportOptions);
}

Questo esempio usa la classe Graphics per creare forme primitive nell’area dell’immagine. Per dimostrare l’operazione, l’esempio crea una nuova immagine in formato PNG e disegna forme primitive sulla superficie dell’immagine utilizzando i metodi Draw esposti dalla classe Graphics

[C#]

//Crea un'istanza di FileStream
using (System.IO.FileStream stream = new System.IO.FileStream(@"C:\temp\output.png", System.IO.FileMode.Create))
{
    //Crea un'istanza di PngOptions e imposta le sue varie proprietà
    Aspose.Imaging.ImageOptions.PngOptions pngOptions = new Aspose.Imaging.ImageOptions.PngOptions();

    //Imposta la sorgente per PngOptions
    pngOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);

    //Crea un'istanza di Image 
    using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(pngOptions, 500, 500))
    {
        //Crea e inizializza un'istanza della classe Graphics
        Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(image);

        //Cancella superficie grafica
        graphics.Clear(Aspose.Imaging.Color.Wheat);

        //Disegna un arco specificando l'oggetto Penna con colore Nero, 
        //un rettangolo che circonda l'arco, l'angolo iniziale e l'angolo di sweep
        graphics.DrawArc(new Aspose.Imaging.Pen(Aspose.Imaging.Color.Black, 2), new Aspose.Imaging.Rectangle(200, 200, 100, 200), 0, 300);

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

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

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

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

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

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

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

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

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

        // salva tutte le modifiche.
        image.Save();
    }
}

Guarda anche