Class PngOptions
PngOptions class
Il formato di file png crea opzioni.
public class PngOptions : ImageOptionsBase
Costruttori
Nome | Descrizione |
---|---|
PngOptions() | Inizializza una nuova istanza diPngOptions classe. |
PngOptions(PngOptions) | Inizializza una nuova istanza diPngOptions classe. |
Proprietà
Nome | Descrizione |
---|---|
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
Nome | Descrizione |
---|---|
virtual Clone() | Clona questa istanza. |
Dispose() | Elimina l’istanza corrente. |
Campi
Nome | Descrizione |
---|---|
const DefaultCompressionLevel | Il 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
- class ImageOptionsBase
- spazio dei nomi Aspose.PSD.ImageOptions
- assemblea Aspose.PSD