Class PngOptions

PngOptions class

Het png-bestandsformaat creëert opties.

public class PngOptions : ImageOptionsBase

Constructeurs

NaamBeschrijving
PngOptions()Initialiseert een nieuw exemplaar van hetPngOptions klasse.
PngOptions(PngOptions)Initialiseert een nieuw exemplaar van hetPngOptions klasse.

Eigenschappen

NaamBeschrijving
BitDepth { get; set; }De bitdiepte.
BufferSizeHint { get; set; }Haalt de hint voor de buffergrootte op of stelt deze in, de maximale toegestane grootte voor alle interne buffers.
ColorType { get; set; }Haalt of stelt het type van de kleur in.
CompressionLevel { get; set; }Het compressieniveau voor png-afbeeldingen in het bereik 0-9, waarbij 9 maximale compressie is en 0 de opslagmodus.
virtual DefaultReplacementFont { get; set; }Haalt het standaardvervangende lettertype op of stelt het in (lettertype dat zal worden gebruikt om tekst te tekenen bij het exporteren naar raster, als het bestaande laaglettertype in het PSD-bestand niet in het systeem wordt gepresenteerd). Om de juiste naam van het standaardlettertype te gebruiken, kan het volgende codefragment worden gebruikt : System.Drawing.Text.InstalledFontCollection col = nieuw System.Drawing.Text.InstalledFontCollection(); System.Drawing.FontFamily[] families = col.Families; string defaultFontName = families[0].Name; PsdLoadOptions psdLoadOptions = nieuwe PsdLoadOptions() { DefaultReplacementFont = defaultFontName });
Disposed { get; }Krijgt een waarde die aangeeft of deze instantie is verwijderd.
FilterType { get; set; }Haalt of stelt het filtertype in dat wordt gebruikt tijdens het opslaan van png-bestanden.
FullFrame { get; set; }Haalt of stelt een waarde in die aangeeft of [full frame].
MultiPageOptions { get; set; }De opties voor meerdere pagina’s
virtual Palette { get; set; }Haalt of stelt het kleurenpalet in.
ProgressEventHandler { get; set; }Haalt de voortgangsgebeurtenishandler op of stelt deze in.
Progressive { get; set; }Haalt of stelt een waarde in die aangeeft of ditPngOptions is progressief.
virtual ResolutionSettings { get; set; }Haalt of stelt de resolutie-instellingen in.
Source { get; set; }Haalt of stelt de bron in om een afbeelding in te maken.
VectorRasterizationOptions { get; set; }Haalt of stelt de vectorrasteropties in.
override XmpData { get; set; }Haalt de XMP-metagegevenscontainer op of stelt deze in.

methoden

NaamBeschrijving
virtual Clone()Kloont deze instantie.
Dispose()Verwijdert de huidige instantie.

Velden

NaamBeschrijving
const DefaultCompressionLevelHet standaard compressieniveau.

Voorbeelden

Het volgende voorbeeld laat zien hoe u een AI-bestand kunt exporteren naar PSD- en PNG-indeling 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 });
}

Dit voorbeeld demonstreert het gebruik van verschillende klassen uit SaveOptions Namespace voor exportdoeleinden. Een afbeelding van het type Psd wordt geladen in een exemplaar van Afbeelding en vervolgens geëxporteerd naar verschillende indelingen.

[C#]

// Laad een bestaande afbeelding in een instantie van de klasse Image
using (Aspose.PSD.Image image = Aspose.PSD.Image.Load(@"C:\temp\image.psd"))
{
    //Exporteren naar BMP-bestandsindeling met de standaardopties
    image.Save(@"C:\temp\output.bmp", new Aspose.PSD.ImageOptions.BmpOptions());

    //Exporteren naar JPEG-bestandsindeling met de standaardopties
    image.Save(@"C:\temp\output.jpeg", new Aspose.PSD.ImageOptions.JpegOptions());

    //Exporteren naar JPEG 2000-bestandsindeling met de standaardopties
    image.Save(@"C:\temp\output.jp2", new Aspose.PSD.ImageOptions.Jpeg2000Options());

    //Exporteren naar PNG-bestandsindeling met de standaardopties
    image.Save(@"C:\temp\output.png", new Aspose.PSD.ImageOptions.PngOptions());

    //Exporteren naar TIFF-bestandsindeling met de standaardopties
    image.Save(@"c:\temp\output.tiff", new Aspose.PSD.ImageOptions.TiffOptions(Aspose.PSD.FileFormats.Tiff.Enums.TiffExpectedFormat.Default));
}

Het volgende voorbeeld laat zien hoe u de PassThrough-laagovervloeimodus in Aspose.PSD kunt gebruiken

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

Het volgende voorbeeld laat zien dat de voortgang van de documentconversie correct en zonder uitzondering werkt.

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

In dit voorbeeld wordt de klasse Graphics gebruikt om primitieve vormen op het afbeeldingsoppervlak te maken. Om de werking te demonstreren, maakt het voorbeeld een nieuwe afbeelding in PSD-indeling en tekent primitieve vormen op het afbeeldingsoppervlak met behulp van Draw-methoden die worden weergegeven door de klasse Graphics en exporteert deze vervolgens naar de PSD-bestandsindeling.

[C#]

//Maak een exemplaar van Image 
using (Aspose.PSD.Image image = new Aspose.PSD.FileFormats.Psd.PsdImage(500, 500))
{
    // Maak en initialiseer een instantie van de klasse Graphics
    Aspose.PSD.Graphics graphics = new Aspose.PSD.Graphics(image);

    // Grafisch oppervlak wissen
    graphics.Clear(Color.Wheat);

    // Teken een boog door het Pen-object op te geven met zwarte kleur, 
    //a Rechthoek rond de boog, starthoek en zwaaihoek
    graphics.DrawArc(new Pen(Color.Black, 2), new Rectangle(200, 200, 100, 200), 0, 300);

    // Teken een Bezier door het Pen-object op te geven met blauwe kleur en coördinaatpunten.
    graphics.DrawBezier(new Pen(Color.Blue, 2), new Point(250, 100), new Point(300, 30), new Point(450, 100), new Point(235, 25));

    // Teken een curve door het Pen-object op te geven met een groene kleur en een reeks punten
    graphics.DrawCurve(new Pen(Color.Green, 2), new[] { new Point(100, 200), new Point(100, 350), new Point(200, 450) });

    // Teken een ellips met het Pen-object en een omringende rechthoek
    graphics.DrawEllipse(new Pen(Color.Yellow, 2), new Rectangle(300, 300, 100, 100));

    //Teken een lijn 
    graphics.DrawLine(new Pen(Color.Violet, 2), new Point(100, 100), new Point(200, 200));

    // Teken een taartsegment
    graphics.DrawPie(new Pen(Color.Silver, 2), new Rectangle(new Point(200, 20), new Size(200, 200)), 0, 45);

    // Teken een polygoon door het Pen-object op te geven met een rode kleur en een reeks punten
    graphics.DrawPolygon(new Pen(Color.Red, 2), new[] { new Point(20, 100), new Point(20, 200), new Point(220, 20) });

    // Teken een rechthoek
    graphics.DrawRectangle(new Pen(Color.Orange, 2), new Rectangle(new Point(250, 250), new Size(100, 100)));

    // Maak een SolidBrush-object en stel de verschillende eigenschappen in
    Aspose.PSD.Brushes.SolidBrush brush = new Aspose.PSD.Brushes.SolidBrush();
    brush.Color = Color.Purple;
    brush.Opacity = 100;

    // Teken een tekenreeks met behulp van het SolidBrush-object en lettertype op een specifiek punt
    graphics.DrawString("This image is created by Aspose.PSD API", new Font("Times New Roman", 16), brush, new PointF(50, 400));

    //Maak een instantie van PngOptions en stel de verschillende eigenschappen in
    Aspose.PSD.ImageOptions.PngOptions pngOptions = new Aspose.PSD.ImageOptions.PngOptions();

    // sla alle veranderingen op.
    image.Save("C:\\temp\\output.png", pngOptions);
}

Zie ook