Class JpegImage
Il nome: Aspose.Imaging.FileFormats.Jpeg Assemblea: Aspose.Imaging.dll (25.4.0)
Manipolare efficacemente le immagini del raster JPEG con la nostra API, offrendo supportoper diversi profili di colore come RGB e CMYK, bit personalizzabili per pixelLa risoluzione e il trattamento dei contenitori di metadati EXIF, JFIF e XMP.Godetevi la rotazione automatica basata sui dati di orientamento e scegliete traI livelli di compressione, compresi i JPEG senza perdite, per ottenere la qualità dell’immagine ottimalee file dimensioni equilibrio per i tuoi progetti.
[JsonObject(MemberSerialization.OptIn)]
public sealed class JpegImage : RasterCachedImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasJpegExifData, IHasExifData, IHasMetadata
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage ← RasterCachedImage ← JpegImage
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasJpegExifData , IHasExifData , IHasMetadata
I membri ereditari
RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.IsCached , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Il produttore di fotocamere di accesso nota in immagine JPEG.
using (var image = (JpegImage)Image.Load("Sample.jpg"))
{
foreach (var makerNote in image.ExifData.MakerNotes)
{
Console.WriteLine("Name = {0}, Value = {1}", makerNote.Name, makerNote.Value);
}
}
L’esempio mostra come caricare un JpegImage da un file.
string dir = "c:\\temp\\";
// Load a JPEG image from a file.
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(dir + "sample.jpg"))
{
// Do some image processing.
// Save to another JPEG file.
jpegImage.Save(dir + "sample.output.jpg");
}
Constructors
JpegImage(String)
La classe Aspose.Imaging.FileFormats.Jpeg.JPEGImage inizia senza sforzo invocando la suaConstructor con il parametro percorso specificato.Questo constructor consente senza setacreazione di immagini JPEG, assicurando la rapida integrazione nei vostri progetti con facilità.
public JpegImage(string path)
Parameters
path
string
Il percorso per caricare l’immagine da e inizializzare i dati di pixel e palette con.
Examples
L’esempio mostra come caricare un JpegImage da un file.
string dir = "c:\\temp\\";
// Load a JPEG image from a file.
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(dir + "sample.jpg"))
{
// Do some image processing.
// Save to another JPEG file.
jpegImage.Save(dir + "sample.output.jpg");
}
JpegImage(Stream)
Inizializza un oggetto immagine JPEG con la classe Aspose.Imaging.FileFormats.Jpeg.Questo costruttore semplifica il processo di lavoro con JPEGImmagini, offrendo un approccio semplice per integrarli nei vostri progettisenza sforzo.
public JpegImage(Stream stream)
Parameters
stream
Stream
Il flusso per caricare l’immagine da e inizializzare i dati di pixel e palette con.
Examples
L’esempio mostra come caricare un JpegImage da un file stream.
string dir = "c:\\temp\\";
// Load a JPEG image from a file stream.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "sample.jpg"))
{
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(stream))
{
// Do some image processing.
// Save to another JPEG file.
jpegImage.Save(dir + "sample.output.jpg");
}
}
JpegImage(RasterImage)
Iniziare una nuova instanza della classe Aspose.Imaging.FileFormats.Jpeg.PegImage con un’immagine di rasterQuesto costruttore fornisce un modo conveniente per creare immagini JPEGdirettamente dalle immagini raster, semplificando il flusso di lavoro per lavorare con le immagini JPEGnelle vostre applicazioni.
public JpegImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
L’immagine per inizializzare i pixel e i dati di palette con.
Examples
L’esempio mostra come caricare un JpegImage da un altro Raster Image.
string dir = "c:\\temp\\";
// Load a JPEG image from another raster image.
// First, create a temporal PNG image that will be a foundation for building a JPEG image.
// You can also load PNG image from a file or use an image of any other raster format.
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream(), false);
using (Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(createOptions, 100, 100))
{
// Fill the entire PNG image in red.
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(rasterImage);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
graphics.FillRectangle(brush, rasterImage.Bounds);
// Create a JPEG image based on the PNG image.
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(rasterImage))
{
// Save to a JPEG file
jpegImage.Save(dir + "output.jpg");
}
}
JpegImage(di int, int)
Creare una nuova instanza della classe Aspose.Imaging.FileFormats.Jpeg.PegImage con la larghezza specificataQuesto costruttore consente di creare immagini JPEG conDimensioni personalizzate, che ti danno flessibilità nella gestione delle dimensioni dell’immagine nella tua applicazione.
public JpegImage(int width, int height)
Parameters
width
int
La larghezza dell’immagine.
height
int
L’altezza dell’immagine
Examples
Il seguente esempio mostra come creare un’immagine JPEG della dimensione specificata.
string dir = "c:\\temp\\";
// Create a JPEG image of 100x100 px.
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(100, 100))
{
// Do some image processing.
// Save to a file.
jpegImage.Save(dir + "output.jpg");
}
L’esempio seguente carica un’immagine BMP e lo salva in JPEG utilizzando varie opzioni di salvataggio.
string dir = "c:\\temp\\";
// Load a BMP image from a file.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
// Do some image processing.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8.
// When a palette is used, the color index is stored in the image data instead of the color itself.
saveOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
saveOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// If the source image is colored, it will be converted to grayscaled.
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
// Use a palette to reduce the output size.
saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
image.Save(dir + "sample.palettized.jpg", saveOptions);
}
JpegImage(Sviluppo, int int)
Iniziare un nuovo oggetto Aspose.Imaging.FileFormats.Jpeg.PegImage con le opzioni JPEG fornite.Questo costruttore ti consente di adattare varie impostazioni per l’immagine JPEG, comecome livello di compressione, qualità e parametri aggiuntivi, fornendo un controllo precisosul formato di immagine risultante.
public JpegImage(JpegOptions jpegOptions, int width, int height)
Parameters
jpegOptions
JpegOptions
Le opzioni di JPEG.
width
int
Immagini di larghezza.
height
int
Altezza dell’immagine.
Examples
L’esempio seguente carica un’immagine BMP e lo salva in JPEG utilizzando varie opzioni di salvataggio.
string dir = "c:\\temp\\";
// Load a BMP image from a file.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
// Do some image processing.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8.
// When a palette is used, the color index is stored in the image data instead of the color itself.
saveOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
saveOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
saveOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
saveOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
saveOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// If the source image is colored, it will be converted to grayscaled.
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Grayscale;
// Use a palette to reduce the output size.
saveOptions.Palette = Aspose.Imaging.ColorPaletteHelper.Create8BitGrayscale(false);
image.Save(dir + "sample.palettized.jpg", saveOptions);
}
L’esempio seguente mostra come creare un’immagine JPEG della dimensione specificata con i parametri specificati.
string dir = "c:\\temp\\";
// Create a JPEG image of 100x100 px.
// Use additional options to specify the desired image parameters.
Aspose.Imaging.ImageOptions.JpegOptions createOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
// The number of bits per channel is 8, 8, 8 for Y, Cr, Cb components accordingly.
createOptions.BitsPerChannel = 8;
// Set the progressive type of compression.
createOptions.CompressionType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionMode.Progressive;
// Set the image quality. It is a value between 1 and 100.
createOptions.Quality = 100;
// Set the horizontal/vertical resolution to 96 dots per inch.
createOptions.ResolutionSettings = new Aspose.Imaging.ResolutionSetting(96.0, 96.0);
createOptions.ResolutionUnit = Aspose.Imaging.ResolutionUnit.Inch;
// This is a standard option for JPEG images.
// Two chroma components (Cb and Cr) can be bandwidth-reduced, subsampled, compressed.
createOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.YCbCr;
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = new Aspose.Imaging.FileFormats.Jpeg.JpegImage(createOptions, 100, 100))
{
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(jpegImage);
Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(jpegImage.Width, jpegImage.Height),
Aspose.Imaging.Color.Yellow,
Aspose.Imaging.Color.Blue);
// Fill the image with a grayscale gradient
graphics.FillRectangle(gradientBrush, jpegImage.Bounds);
// Save to a file.
jpegImage.Save(dir + "output.explicitoptions.jpg");
}
Properties
BitsPerPixel
Retrate la profondità del pixel dell’immagine senza sforzo con questa proprietà, offrendoinsegnamenti della ricchezza del colore o della rappresentazione grigio-scale.foto vibrante o un’illustrazione monocroma, questa proprietà fornisce una chiaveinformazioni sulla complessità visiva dell’immagine.
public override int BitsPerPixel { get; }
Valore di proprietà
CmykColorProfile
Il profilo di colore CMYK associato con le immagini JPEG CMYN e YCCK assicura la precisioneConversione di colore e fedeltà. funziona in connessione con il RGBColorProfile pergarantire una rappresentazione accurata dei colori su vari dispositivi e applicazioni.Questa coppia è fondamentale per mantenere la coerenza nel rendering dei colori eOttimizzazione della qualità dell’immagine.
public StreamSource CmykColorProfile { get; set; }
Valore di proprietà
Examples
L’esempio seguente carica PNG e lo salva a CMYK JPEG utilizzando il profilo ICC personalizzato. In seguito, ricarica CMYKJPEG ed lo salverà indietro a RNG. La conversione del colore da RGB a CmYK e da CMYM a KGB viene eseguita con i profili Icc personalizzati.
string dir = "c:\\temp\\";
// Load PNG and save it to CMYK JPEG
using (Aspose.Imaging.FileFormats.Png.PngImage image = (Aspose.Imaging.FileFormats.Png.PngImage)Image.Load(dir + "sample.png"))
{
using (System.IO.Stream rgbProfileStream = System.IO.File.OpenRead(dir + "eciRGB_v2.icc"))
using (System.IO.Stream cmykProfileStream = System.IO.File.OpenRead(dir + "ISOcoated_v2_FullGamut4.icc"))
{
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Cmyk;
// Use custom ICC profiles
saveOptions.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
saveOptions.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
image.Save(dir + "output.cmyk.jpg", saveOptions);
}
}
// Load CMYK JPEG and save it to PNG
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage image = (Aspose.Imaging.FileFormats.Jpeg.JpegImage)Image.Load(dir + "output.cmyk.jpg"))
{
using (System.IO.Stream rgbProfileStream = System.IO.File.OpenRead(dir + "eciRGB_v2.icc"))
using (System.IO.Stream cmykProfileStream = System.IO.File.OpenRead(dir + "ISOcoated_v2_FullGamut4.icc"))
{
// Use custom ICC profiles
image.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
image.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
Aspose.Imaging.ImageOptions.PngOptions saveOptions = new Aspose.Imaging.ImageOptions.PngOptions();
image.Save(dir + "output.rgb.png", saveOptions);
}
}
Comment
Gestire i commenti del file JPEG con questa proprietà, consentendo di aggiungere o recuperareannotazioni descrittive associate all’immagine. se si tratta di etichettando le immagini conmetadati o appiando un contesto aggiuntivo, questa proprietà offre flessibilità inorganizzare e classificare i file JPEG.
public string Comment { get; set; }
Valore di proprietà
DestinationCmykColorProfile
Il profilo di colore CMYK è vitale per la conversione di colori accurata di CMYK e YCCKImmagini JPEG durante il processo di risparmio. funziona in tandem con il RGBColorProfileper garantire la corretta rappresentazione dei colori, mantenendo la coerenza e la qualità tradiversi dispositivi e software. questa sincronizzazione è fondamentale per raggiungererendering di colore accurato e affidabile nelle ultime immagini salvate.
public StreamSource DestinationCmykColorProfile { get; set; }
Valore di proprietà
DestinationRgbColorProfile
Il RGBColorProfile è essenziale per la conversione di colore accurata di CMYK e YCCKImmagini JPEG durante il processo di risparmio.Quando parati con il CMYKColorProfile,assicura che i colori siano riprodotti correttamente e mantiene la coerenza tradiversi dispositivi e applicazioni. questa combinazione è cruciale per la conservazione della rappresentazione dei colori intesa e l’acquisizione di un’immagine di alta qualità.
public StreamSource DestinationRgbColorProfile { get; set; }
Valore di proprietà
ExifData
Gestire i dati EXIF con questa proprietà, consentendo di aggiungere o recuperare i metadatiassociato all’immagine. se si tratta di estrarre informazioni sulla fotocameraimpostazioni o modificando i metadati esistenti, questa proprietà offre flessibilità inGestione del contenitore dati EXIF.
public JpegExifData ExifData { get; set; }
Valore di proprietà
Examples
L’esempio seguente mostra come estrarre le etichette EXIF da un’immagine JPEG.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage image = (Aspose.Imaging.FileFormats.Jpeg.JpegImage)Image.Load(dir + "original.jpg"))
{
Aspose.Imaging.Exif.ExifData exifData = image.ExifData;
System.Console.WriteLine("The general EXIF data");
System.Console.WriteLine("------------------------------------------");
if (exifData != null)
{
System.Console.WriteLine("The EXIF version: {0}", exifData.ExifVersion);
System.Console.WriteLine("The camera serial number: {0}", exifData.BodySerialNumber);
System.Console.WriteLine("The color space: {0}", exifData.ColorSpace);
System.Console.WriteLine("The brightness: {0}", exifData.BrightnessValue);
System.Console.WriteLine("The contrast: {0}", exifData.Contrast);
System.Console.WriteLine("The gamma: {0}", exifData.Gamma);
System.Console.WriteLine("The sharpness: {0}", exifData.Sharpness);
System.Console.WriteLine("The aperture: {0}", exifData.ApertureValue);
System.Console.WriteLine("The exposure mode: {0}", exifData.ExposureMode);
System.Console.WriteLine("The exposure bias: {0}", exifData.ExposureBiasValue);
System.Console.WriteLine("The exposure time: {0}", exifData.ExposureTime);
System.Console.WriteLine("The focal length: {0}", exifData.FocalLength);
System.Console.WriteLine("The focal plane resolution unit: {0}", exifData.FocalPlaneResolutionUnit);
System.Console.WriteLine("The lens model: {0}", exifData.LensModel);
System.Console.WriteLine("The shutter speed: {0}", exifData.ShutterSpeedValue);
}
System.Console.WriteLine("The JPEG EXIF data");
System.Console.WriteLine("------------------------------------------");
Aspose.Imaging.Exif.JpegExifData jpegExifData = image.ExifData as Aspose.Imaging.Exif.JpegExifData;
if (jpegExifData != null)
{
System.Console.WriteLine("The camera manufacturer: {0}", jpegExifData.Make);
System.Console.WriteLine("The camera model: {0}", jpegExifData.Model);
System.Console.WriteLine("The photometric interpretation: {0}", jpegExifData.PhotometricInterpretation);
System.Console.WriteLine("The artist: {0}", jpegExifData.Artist);
System.Console.WriteLine("The copyright: {0}", jpegExifData.Copyright);
System.Console.WriteLine("The image description: {0}", jpegExifData.ImageDescription);
System.Console.WriteLine("The orientation: {0}", jpegExifData.Orientation);
System.Console.WriteLine("The software: {0}", jpegExifData.Software);
}
}
//The output looks like this:
//The general EXIF data
//------------------------------------------
//The EXIF version: System.Byte[]
//The camera serial number: 7100536
//The color space: SRgb
//The brightness:
//The contrast: Normal
//The gamma:
//The sharpness: 0
//The aperture: 4.64(4643856 / 1000000)
//The exposure mode: Manual
//The exposure bias: 0.67(4 / 6)
//The exposure time: 0.01(1 / 160)
//The focal length: 145.00(1450 / 10)
//The focal plane resolution unit: Cm
//The lens model: 70.0 - 200.0 mm f/ 4.0
//The shutter speed: 7.32(7321928 / 1000000)
//The JPEG EXIF data
//------------------------------------------
//The camera manufacturer: NIKON CORPORATION
//The camera model: NIKON D5
//The photometric interpretation: 0
//The artist:
//The copyright:
//The image description:
//The orientation: TopLeft
//The software: Adobe Photoshop Camera Raw 9.9(Macintosh)
FileFormat
Retrate il formato dell’immagine senza sforzo con questa proprietà.preziosa conoscenza del formato del file, aiutando nell’integrazione senza segni eControlla la compatibilità su varie piattaforme e applicazioni.
public override FileFormat FileFormat { get; }
Valore di proprietà
Height
Retrate l’altezza dell’immagine senza sforzo con questa proprietà. fornisce rapidamentel’accesso alla dimensione verticale dell’immagine, consentendo dideterminare la sua proporzione di dimensione e di aspetto senza la necessità di calcoli complessi oMetodi aggiuntivi .
public override int Height { get; }
Valore di proprietà
HorizontalResolution
Questa proprietà ti consente di accedere alla risoluzione orizzontale delAspose.Imaging.RasterImage, misurato in pixel per pollice.Questo valore, è possibile controllare esattamente la risoluzione dell’immagine, assicurandolasoddisfa i tuoi requisiti specifici per la qualità e la chiarezza.
public override double HorizontalResolution { get; set; }
Valore di proprietà
Examples
L’esempio seguente mostra come impostare la risoluzione orizzontale/vertica di un’immagine JPEG.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.jpg"))
{
Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = (Aspose.Imaging.FileFormats.Jpeg.JpegImage)image;
// Get horizontal and vertical resolution of the BmpImage
double horizontalResolution = jpegImage.HorizontalResolution;
double verticalResolution = jpegImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", horizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", verticalResolution);
if (horizontalResolution != 96.0 || verticalResolution != 96.0)
{
// Use the SetResolution method for updating both resolution values in a single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
jpegImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", jpegImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", jpegImage.VerticalResolution);
}
// The output may look like this:
// The horizontal resolution, in pixels per inch: 300
// The vertical resolution, in pixels per inch: 300
// Set resolution values to 96 dpi
// The horizontal resolution, in pixels per inch: 96
// The vertical resolution, in pixels per inch: 96
}
Remarks
Nota per impostazione predefinita questo valore è sempre 96 poiché diverse piattaforme non possono restituire la risoluzione dello schermo. Puoi considerare l’uso del metodo SetResolution per aggiornare entrambi i valori di risoluzione in una singola chiamata.
IgnoreEmbeddedColorProfile
Retrieve o modifica la bandiera indicando se il profilo di colore incorporato èimpostando questa bandiera, gli utenti possono specificare se il colore predefinitoil profilo dovrebbe essere utilizzato invece dell’unico incorporato. questa opzione assicura una maggiorecontrollo della gestione dei colori, facilitando gli adeguamenti per la coerenza eCompatibilità su diverse piattaforme e applicazioni.
public bool IgnoreEmbeddedColorProfile { get; set; }
Valore di proprietà
Jfif
Questa proprietà ti consente di accedere o modificare il JFIF (JPEG File Interchange)Format) dati associati all’immagine JPEG. JFIF è un formato standard perscambiare immagini compresse da JPEG tra computer e altri dispositivi.o impostare questa proprietà, è possibile interagire con i dati JFIF, che possono includereinformazioni come la risoluzione dell’immagine, il rapporto di aspetto e il minimo.
public JFIFData Jfif { get; set; }
Valore di proprietà
JpegOptions
Ottenere accesso alle opzioni JPEG utilizzate durante la creazione o il caricamento di questoAspose.Imaging.FileFormats.jpeg.JpgImage instanza con facilità. Questa proprietà offre dettagli preziosile impostazioni specifiche utilizzate, consentendo agli utenti di comprendere e riprodurreIl processo di elaborazione dell’immagine funziona in modo efficace. Che si tratti di livelli di compressione, qualitàle impostazioni, o altri parametri, questa proprietà fornisce informazioni essenziali perLa manipolazione immagine senza sguardo.
public JpegOptions JpegOptions { get; }
Valore di proprietà
Examples
L’esempio seguente mostra come estrarre le informazioni del titolo da un’immagine JPEG.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage image = (Aspose.Imaging.FileFormats.Jpeg.JpegImage)Image.Load(dir + "original.jpg"))
{
Aspose.Imaging.ImageOptions.JpegOptions jpegOptions = image.JpegOptions;
System.Console.WriteLine("The number of bits per channel: {0}", jpegOptions.BitsPerChannel);
System.Console.WriteLine("The max allowed size for all internal buffers: {0}", jpegOptions.BufferSizeHint);
System.Console.WriteLine("The color type: {0}", jpegOptions.ColorType);
System.Console.WriteLine("The compression type: {0}", jpegOptions.CompressionType);
System.Console.WriteLine("The image quality: {0}", jpegOptions.Quality);
if (jpegOptions.ResolutionSettings != null)
{
System.Console.WriteLine("The horizontal resolution: {0}", jpegOptions.ResolutionSettings.HorizontalResolution);
System.Console.WriteLine("The vertical resolution: {0}", jpegOptions.ResolutionSettings.VerticalResolution);
}
for (int i = 0; i < jpegOptions.HorizontalSampling.Length; i++)
{
System.Console.WriteLine("The sampling for component {0}: {1}x{2}", i, jpegOptions.HorizontalSampling[i], jpegOptions.VerticalSampling[i]);
}
}
//The output looks like this:
//The number of bits per channel: 8
//The max allowed size for all internal buffers: 0
//The color type: YCbCr
//The compression type: Baseline
//The image quality: 75
//The sampling for component 0: 1x1
//The sampling for component 1: 1x1
//The sampling for component 2: 1x1
RawDataFormat
Questa proprietà raccoglie il formato dei dati crudi dell’immagine, che indica comei dati di immagine sono strutturati e codificati. comprendere il formato dei dati crudi èè essenziale per il trattamento o la manipolazione dei dati di immagine in modo efficace.l’idea della rappresentazione sottostante dell’immagine, come ad esempio se ècompreso, codificato in uno spazio di colore specifico, o memorizzato in un datoL’accesso a questa proprietà ti consente di ottenere informazioni preziose sullala struttura dei dati dell’immagine, che consente di eseguire varie operazioni o ottimizzazioniadattato al suo formato specifico.
public override PixelDataFormat RawDataFormat { get; }
Valore di proprietà
RgbColorProfile
Il profilo di colore RGB per le immagini CMYK e YCCK JPEG garantisce un colore accuratoconversione e rappresentazione. deve essere paralizzato con il CMYKColorProfile permantenere la coerenza e la fedeltà nel rendering dei colori.Questo coppia è essenziale perapplicazioni che richiedono una gestione accurata del colore e la riproduzione delle immagini,garantire che i dati RGB siano correttamente interpretati e visualizzati.
public StreamSource RgbColorProfile { get; set; }
Valore di proprietà
Examples
L’esempio seguente carica PNG e lo salva a CMYK JPEG utilizzando il profilo ICC personalizzato. In seguito, ricarica CMYKJPEG ed lo salverà indietro a RNG. La conversione del colore da RGB a CmYK e da CMYM a KGB viene eseguita con i profili Icc personalizzati.
string dir = "c:\\temp\\";
// Load PNG and save it to CMYK JPEG
using (Aspose.Imaging.FileFormats.Png.PngImage image = (Aspose.Imaging.FileFormats.Png.PngImage)Image.Load(dir + "sample.png"))
{
using (System.IO.Stream rgbProfileStream = System.IO.File.OpenRead(dir + "eciRGB_v2.icc"))
using (System.IO.Stream cmykProfileStream = System.IO.File.OpenRead(dir + "ISOcoated_v2_FullGamut4.icc"))
{
Aspose.Imaging.ImageOptions.JpegOptions saveOptions = new Aspose.Imaging.ImageOptions.JpegOptions();
saveOptions.ColorType = Aspose.Imaging.FileFormats.Jpeg.JpegCompressionColorMode.Cmyk;
// Use custom ICC profiles
saveOptions.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
saveOptions.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
image.Save(dir + "output.cmyk.jpg", saveOptions);
}
}
// Load CMYK JPEG and save it to PNG
using (Aspose.Imaging.FileFormats.Jpeg.JpegImage image = (Aspose.Imaging.FileFormats.Jpeg.JpegImage)Image.Load(dir + "output.cmyk.jpg"))
{
using (System.IO.Stream rgbProfileStream = System.IO.File.OpenRead(dir + "eciRGB_v2.icc"))
using (System.IO.Stream cmykProfileStream = System.IO.File.OpenRead(dir + "ISOcoated_v2_FullGamut4.icc"))
{
// Use custom ICC profiles
image.RgbColorProfile = new Aspose.Imaging.Sources.StreamSource(rgbProfileStream);
image.CmykColorProfile = new Aspose.Imaging.Sources.StreamSource(cmykProfileStream);
Aspose.Imaging.ImageOptions.PngOptions saveOptions = new Aspose.Imaging.ImageOptions.PngOptions();
image.Save(dir + "output.rgb.png", saveOptions);
}
}
VerticalResolution
Questa proprietà gestisce la risoluzione verticale, espressa in pixel per pollice, perl’associato Aspose.Imaging.RasterImage. adeguando questa risoluzione influisce suldimensioni e qualità dell’immagine quando stampata o visualizzata a una dimensione fisica fissa.Configurando questa proprietà, controlla la densità dei pixel dell’immagine.verticalmente, influenzando la sua acurità e chiarezza complessiva.
public override double VerticalResolution { get; set; }
Valore di proprietà
Examples
L’esempio seguente mostra come impostare la risoluzione orizzontale/vertica di un’immagine JPEG.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.jpg"))
{
Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = (Aspose.Imaging.FileFormats.Jpeg.JpegImage)image;
// Get horizontal and vertical resolution of the BmpImage
double horizontalResolution = jpegImage.HorizontalResolution;
double verticalResolution = jpegImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", horizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", verticalResolution);
if (horizontalResolution != 96.0 || verticalResolution != 96.0)
{
// Use the SetResolution method for updating both resolution values in a single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
jpegImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", jpegImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", jpegImage.VerticalResolution);
}
// The output may look like this:
// The horizontal resolution, in pixels per inch: 300
// The vertical resolution, in pixels per inch: 300
// Set resolution values to 96 dpi
// The horizontal resolution, in pixels per inch: 96
// The vertical resolution, in pixels per inch: 96
}
Remarks
Nota per impostazione predefinita questo valore è sempre 72 poiché le diverse piattaforme non possono restituire la risoluzione dello schermo. Puoi considerare l’utilizzo del metodo SetResolution per aggiornare entrambi i valori risolutivi in una singola chiamata.
Width
Questa proprietà ritrova la larghezza dell’immagine, espressa in pixel.informazioni essenziali sulle dimensioni dell’immagine, consentendo un rendering accurato,manipolazione o visualizzazione dei dati dell’immagine.
public override int Width { get; }
Valore di proprietà
XmpData
Riceve o immette i metadati XMP, consentendo l’integrazione senza precedenti diinformazioni descrittive nel file immagine. se stai estratti XMP esistentemetadati o aggiornarlo con nuove informazioni, questa proprietà semplifica ilgestione dei metadati estesi, assicurando la compatibilità con diverse applicazionie dei flussi di lavoro.
public override XmpPacketWrapper XmpData { get; set; }
Valore di proprietà
Methods
AutoRotate()
Rota automaticamente l’immagine sulla base dei dati di orientamento estratti da ExifQuesto metodo assicura che le immagini siano visualizzate nella giusta orientazione,migliorare l’esperienza utente e eliminare la necessità di ajustamenti manuali.analizzando le informazioni di Exif, l’immagine viene girata in modo appropriato, fornendo unesperienza di visualizzazione su diverse piattaforme e dispositivi. questa rotazione automaticaIl processo semplifica la gestione dell’immagine e migliora l’uso generale, in particolare quandotrattare con grandi lotti di immagini con diverse orientazioni.
public void AutoRotate()
Exceptions
Il valore ‘Orientation’ di ‘JpegExifData’ è fuori dal range consentito [1…8], quindi l’auto-rotazione non può essere applicata.
GetModifyDate(di bool)
Retrieve la data e l’ora in cui la immagine risorsa è stata sottoposta alla sua ultimaQuesto metodo fornisce metadati preziosi, consentendo agli utenti di tracciare egestire aggiornamenti al file immagine in modo efficace. accedendo a queste informazioni, gli utentipuò garantire l’integrità e la moneta dei loro beni di immagine, facilitandoDecisione sull’utilizzo e la manutenzione dell’immagine.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
se impostato a ’true’ utilizza le informazioni di FileInfo come valore predefinito.
Returns
La data e l’ora dell’immagine risorsa è stata modificata per l’ultima volta.
ReleaseManagedResources()
Assicurati di non rilasciare risorse non gestite qui, poiché potrebbero essere già state rilasciate.
protected override void ReleaseManagedResources()
RemoveMetadata()
Rimuove i metadati di instanza di questa immagine impostando questi valori Aspose.Imaging.Xmp.IHasXMPData.xmpDat e __ WL16__ .Exif.IhasExivDate.ExIFDato a Null.
public override void RemoveMetadata()
SaveData(Stream)
Salva i dati.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Il flusso per salvare i dati.
SetResolution(Il doppio, il doppio)
Stabilisce la risoluzione per il Aspose.Imaging.RasterImage specificato, garantendocapacità di scalazione e stampa accurate.Questo metodo consente agli utenti di adattarsila risoluzione dell’immagine per soddisfare i loro requisiti specifici, sia per il digitalevisualizzazione o riproduzione fisica. impostando la risoluzione, gli utenti possono ottimizzarequalità dell’immagine e garantire la compatibilità con diversi dispositivi di uscita e media,Migliorare l’esperienza visiva generale e la usabilità dell’immagine.
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
La risoluzione orizzontale, in punti per pollice, del Aspose.Imaging.RasterImage.
dpiY
double
La risoluzione verticale, in punti per pollice, del Aspose.Imaging.RasterImage.
Examples
L’esempio seguente mostra come impostare la risoluzione orizzontale/vertica di un’immagine JPEG.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.jpg"))
{
Aspose.Imaging.FileFormats.Jpeg.JpegImage jpegImage = (Aspose.Imaging.FileFormats.Jpeg.JpegImage)image;
// Get horizontal and vertical resolution of the BmpImage
double horizontalResolution = jpegImage.HorizontalResolution;
double verticalResolution = jpegImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", horizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", verticalResolution);
if (horizontalResolution != 96.0 || verticalResolution != 96.0)
{
// Use the SetResolution method for updating both resolution values in a single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
jpegImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", jpegImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", jpegImage.VerticalResolution);
}
// The output may look like this:
// The horizontal resolution, in pixels per inch: 300
// The vertical resolution, in pixels per inch: 300
// Set resolution values to 96 dpi
// The horizontal resolution, in pixels per inch: 96
// The vertical resolution, in pixels per inch: 96
}
UpdateDimensions(di int, int)
Aggiornare le dimensioni dell’immagine.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
La nuova larghezza dell’immagine.
newHeight
int
L’altezza della nuova immagine.
UpdateMetadata()
Aggiornare i metadati di immagine.
protected override void UpdateMetadata()