Class JpegImage
Nom dels espais: Aspose.Imaging.FileFormats.Jpeg Assemblea: Aspose.Imaging.dll (25.4.0)
Manipulació eficaç de les imatges de raster JPEG amb la nostra API, oferint suportper a diferents perfils de color com RGB i CMYK, bits personalitzables per píxelResolució i processament dels contenidors de metadades EXIF, JFIF i XMP.Gaudeix de la rotació automatitzada basada en les dades d’orientació i triar entre diferentsNivells de compressió, incloent JPEG sense pèrdues, per aconseguir la qualitat d’imatge òptimai fitxa balanç de mida per als teus projectes.
[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
Membres heretats
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
Accés a les notes del fabricant de càmera en imatge 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’exemple mostra com carregar un JpegImage d’un fitxer.
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(Tàrrega)
La classe Aspose.Imaging.FileFormats.Jpeg.JPEGImage inicia sense esforç invocant la sevaconstructor amb el paràmetre de ruta especificat. aquest constructora permet sense segellCreació d’imatges JPEG, assegurant la integració ràpida en els teus projectes amb facilitat.
public JpegImage(string path)
Parameters
path
string
El camí per carregar la imatge i inicialitzar les dades de píxels i paletes amb.
Examples
L’exemple mostra com carregar un JpegImage d’un fitxer.
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)
Iniciar un objecte d’imatge JPEG amb la classe Aspose.Imaging.FileFormats.Jpeg.Aquest constructor simplifica el procés de treball amb JPEGimatges, oferint un enfocament senzill per integrar-les en els teus projectessense esforç.
public JpegImage(Stream stream)
Parameters
stream
Stream
El flux per carregar la imatge i inicialitzar les dades de píxels i paletes amb.
Examples
L’exemple mostra com carregar un JpegImage d’un flux de fitxers.
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)
Iniciar una nova instància de la classe Aspose.Imaging.FileFormats.Jpeg.JPEGImage amb una imatge de rasterAquest constructor proporciona una manera convenient de crear imatges JPEGdirectament a partir d’imatges rasters, simplificant el flux de treball per treballar amb imatges JPEGen les teves aplicacions.
public JpegImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
La imatge per iniciar els píxels i les paletes de dades amb.
Examples
L’exemple mostra com carregar un JpegImage des d’un altre 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(Int, Int)
Creació d’una nova instància de la classe Aspose.Imaging.FileFormats.Jpeg.PegImage amb la amplada especificadai paràmetres d’altura. aquest constructor li permet crear imatges JPEG ambdimensions personalitzades, donant-li flexibilitat en la gestió de mida d’imatge en l’aplicació.
public JpegImage(int width, int height)
Parameters
width
int
Amplitud de la imatge.
height
int
Alçada de la imatge.
Examples
L’exemple següent mostra com crear una imatge JPEG de la mida especificada.
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’exemple següent carrega una imatge BMP i la salva a JPEG utilitzant diverses opcions d’emmagatzematge.
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(JpegOptions, int i int)
Inicialitza un nou objecte Aspose.Imaging.FileFormats.Jpeg.JPegImage amb les opcions JPEG proporcionades.Aquest constructor li permet ajustar diverses configuracions per a la imatge JPEG, com ara:com a nivell de compressió, qualitat i paràmetres addicionals, donant control precíssobre el format d’imatge resultant.
public JpegImage(JpegOptions jpegOptions, int width, int height)
Parameters
jpegOptions
JpegOptions
Opcions de jpeg.
width
int
Ampliació de la imatge.
height
int
Alçada de la imatge.
Examples
L’exemple següent carrega una imatge BMP i la salva a JPEG utilitzant diverses opcions d’emmagatzematge.
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’exemple següent mostra com crear una imatge JPEG de la mida especificada amb els paràmetres específics.
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
Retirar la profunditat del pixel de la imatge sense esforç amb aquesta propietat, oferintinsights en la riquesa de color o representació gris. si és unUna fotografia vibrant o una il·lustració monocròmica, aquesta propietat proporciona crucialInformació sobre la complexitat visual de la imatge.
public override int BitsPerPixel { get; }
Valor de la propietat
CmykColorProfile
El perfil de color CMYK associat a les imatges de JPEG de CMYK i YCCK assegura la precisióconversió de color i fidelitat. funciona en conjunció amb el RGBColorProfile aGarantir una representació de colors exacta en diversos dispositius i aplicacions.Aquesta paralització és crucial per mantenir la coherència en el rendiment de colors iMillorar la qualitat de la imatge òptima.
public StreamSource CmykColorProfile { get; set; }
Valor de la propietat
Examples
L’exemple següent carrega PNG i l’emmagatzema a CMYK JPEG utilitzant el perfil ICC personalitzat. Llavors, cobreix CMYK JPG i el salva de nou a Png. La conversió de color des de RGB fins a CmYK i des d’CMYK a RMB s’efectua mitjançant els perfils ICR personals.
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
Gestió de comentaris de fitxers JPEG amb aquesta propietat, que li permet afegir o recuperaranotacions descriptives associades amb la imatge. si és etiquetant imatges ambmetadades o apenent context addicional, aquesta propietat ofereix flexibilitat enOrganitzar i categoritzar els seus arxius JPEG.
public string Comment { get; set; }
Valor de la propietat
DestinationCmykColorProfile
El perfil de color CMYK és fonamental per a la conversió de colors exacta de CMYK i YCCKImatges JPEG durant el procés d’estalvi. funciona en tandem amb el RGBColorProfileAssegurar la correcta representació de colors, mantenint la coherència i la qualitat entrediferents dispositius i programari. aquesta sincronització és crucial per aconseguirrenderització de color exacta i fiable en les imatges finalment guardades.
public StreamSource DestinationCmykColorProfile { get; set; }
Valor de la propietat
DestinationRgbColorProfile
El RGBColorProfile és essencial per a la conversió de color exacta de CMYK i YCCKImatges JPEG durant el procés d’estalvi. Quan paralitzat amb el CMYKColorProfile, esAssegura que els colors es rendin correctament i manté la coherència entrediferents dispositius i aplicacions. aquesta combinació és crucial per preservar larepresentació de colors intencionats i assolir la producció d’imatge de gran qualitat.
public StreamSource DestinationRgbColorProfile { get; set; }
Valor de la propietat
ExifData
Gestió de dades EXIF amb aquesta propietat, que li permet afegir o recuperar metadadesrelacionat amb la imatge. si es tracta d’extreure informació sobre la càmerala configuració o la modificació de metadades existents, aquesta propietat ofereix flexibilitat enGestió del contenidor de dades EXIF.
public JpegExifData ExifData { get; set; }
Valor de la propietat
Examples
L’exemple següent mostra com extreure les etiquetes EXIF d’una imatge 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
Recuperar el format de la imatge sense esforç amb aquesta propietat.Valorable visió en el format de fitxers, ajudant en la integració sense segell iVerifica la compatibilitat a través de diverses plataformes i aplicacions.
public override FileFormat FileFormat { get; }
Valor de la propietat
Height
Retirar l’alçada de la imatge sense esforç amb aquesta propietat.accés a la dimensió vertical de la imatge, permetent-li accedir de manera eficientdeterminar la seva proporció de mida i aspecte sense la necessitat de càlculs complexos omètodes addicionals.
public override int Height { get; }
Valor de la propietat
HorizontalResolution
Aquesta propietat li permet accedir a la resolució horitzontal de laAspose.Imaging.RasterImage, mesurada en píxels per centímetre.Aquest valor, vostè pot controlar precisament la resolució de la imatge, assegurant-loRespecta els vostres requisits específics per a la qualitat i la claredat.
public override double HorizontalResolution { get; set; }
Valor de la propietat
Examples
L’exemple següent mostra com configurar la resolució horitzontal/vertical d’una imatge 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 default aquest valor és sempre 96 ja que les diferents plataformes no poden retornar la resolució de la pantalla. pot considerar utilitzar el mètode SetResolution per actualitzar els dos valors de resolución en una sola trucada.
IgnoreEmbeddedColorProfile
Retreu o modifica la bandera indicant si el perfil de color incorporat ésmitjançant l’establiment d’aquesta bandera, els usuaris poden especificar si el color estàndardel perfil s’ha d’utilitzar en comptes de l’incorporat. aquesta opció garanteix méscontrol sobre la gestió del color, facilitant ajustaments per a la consistència icompatibilitat a diverses plataformes i aplicacions.
public bool IgnoreEmbeddedColorProfile { get; set; }
Valor de la propietat
Jfif
Aquesta propietat li permet accedir o modificar el JFIF (JPEG File Interchange)Format) dades associades amb la imatge JPEG. JFIF és un format estàndard perIntercanvi d’imatges compreses JPEG entre ordinadors i altres dispositius.o configurar aquesta propietat, vostè pot interactuar amb les dades JFIF, que poden incloureinformació com la resolució de la imatge, la proporció d’aspecte i el mínim.
public JFIFData Jfif { get; set; }
Valor de la propietat
JpegOptions
Obtenir accés a les opcions JPEG utilitzades durant la creació o càrrega d’aquestAspose.Imaging.FileFormats.Jpeg.PegImage instància amb facilitat. Aquesta propietat ofereix detalls valuosossobre les configuracions específiques utilitzades, que permeten als usuaris entendre i replicarprocessament d’imatge fluxos de treball eficaçment. sigui que sigui nivells de compressió, qualitatconfiguracions, o altres paràmetres, aquesta propietat proporciona insights essencials permanipulació de la imatge.
public JpegOptions JpegOptions { get; }
Valor de la propietat
Examples
L’exemple següent mostra com extreure la informació del títol d’una imatge 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
Aquesta propietat recupera el format de dades greus de la imatge, que indica comLes dades d’imatge són estructurades i codificades. Comprendre el format de dades primeres ésés essencial per al tractament o manipulació efectiva de les dades d’imatge.la representació fonamental de la imatge, com per exemple si éscompresos, codificats en un espai de color específic, o emmagatzemats a un arxiu particularAccés a aquesta propietat li permet obtenir informació valuosa sobre elestructura de dades de la imatge, que li permet realitzar diverses operacions o optimitzacionsadaptat al seu format específic.
public override PixelDataFormat RawDataFormat { get; }
Valor de la propietat
RgbColorProfile
El perfil de color RGB per a les imatges CMYK i YCCK JPEG garanteix el color precísconversió i representació. ha de ser paralitzat amb el CMYKColorProfile amantenir la consistència i la fidelitat en el rendiment de colors. aquest parell és essencial peraplicacions que requereixen una gestió de color precisa i reproducció d’imatges,Garantir que les dades RGB siguin correctament interpretades i exposades.
public StreamSource RgbColorProfile { get; set; }
Valor de la propietat
Examples
L’exemple següent carrega PNG i l’emmagatzema a CMYK JPEG utilitzant el perfil ICC personalitzat. Llavors, cobreix CMYK JPG i el salva de nou a Png. La conversió de color des de RGB fins a CmYK i des d’CMYK a RMB s’efectua mitjançant els perfils ICR personals.
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
Aquesta propietat gestiona la resolució vertical, expressada en píxels per pols, perl’associació Aspose.Imaging.RasterImage. Ajustant aquesta resolució afecta elLa mida i la qualitat de la imatge quan s’imprimeix o es mostra a una mida física fixa.Mitjançant la configuració d’aquesta propietat, controla la densitat dels píxels de la imatge.verticalment, afectant la seva brillantor i claredat general.
public override double VerticalResolution { get; set; }
Valor de la propietat
Examples
L’exemple següent mostra com configurar la resolució horitzontal/vertical d’una imatge 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 default aquest valor és sempre 72 ja que les diferents plataformes no poden retornar la resolució de la pantalla. pot considerar utilitzar el mètode SetResolution per actualitzar els dos valors de resolución en una sola trucada.
Width
Aquesta propietat recupera l’amplada de la imatge, expressada en píxels.informació essencial sobre les dimensions de la imatge, per permetre una renderització exacta,manipulació, o mostrar les dades de la imatge.
public override int Width { get; }
Valor de la propietat
XmpData
Obtén o s’estableix metadades XMP, que permeten la integració sense segles deinformació descriptiva en el fitxer d’imatge. si vostè està extret l’existent XMPmetadades o actualitzar-les amb nova informació, aquesta propietat simplifica laGestió de metadades ampliades, assegurant la compatibilitat amb diverses aplicacionsi els fluxos de treball.
public override XmpPacketWrapper XmpData { get; set; }
Valor de la propietat
Methods
AutoRotate()
Rota automàticament la imatge basada en les dades d’orientació extraïdes de l’ExifAquest mètode garanteix que les imatges es mostrin en l’orientació correcta,Millorar l’experiència d’usuari i eliminar la necessitat de ajustaments manuals.analitzant la informació de l’exif, la imatge es girarà d’acord amb això, proporcionant unaexperiència de visualització a través de diferents plataformes i dispositius. aquesta rotació automatitzadaEl procés simplifica la manipulació de la imatge i millora la usabilitat general, especialment quantractar amb grans batxes d’imatges amb diferents orientacions.
public void AutoRotate()
Exceptions
El valor ‘Orientació’ de ‘JpegExifData’ està fora de l’àrea permesa [1…8], per la qual cosa no es pot aplicar la rotació automàtica.
GetModifyDate(La botiga)
Retreu la data i l’hora en què la imatge de la font va passar la seva darreraAquest mètode proporciona metadades valuoses, que permeten als usuaris rastrejar igestionar actualitzacions al fitxer d’imatge de manera efectiva. per accedir a aquesta informació, els usuarispot assegurar la integritat i la moneda dels seus actius d’imatge, facilitant la informacióDecisió sobre l’ús i el manteniment de la imatge.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
si s’estableix a ’true’ utilitza la informació de FileInfo com a valor estàndard.
Returns
La data i l’hora de la imatge de recursos es va modificar per última vegada.
ReleaseManagedResources()
Assegureu-vos que no es lliuren recursos no gestionats aquí, ja que poden haver estat ja alliberats.
protected override void ReleaseManagedResources()
RemoveMetadata()
Elimina aquesta imatge de metadades d’instància mitjançant l’establiment de Aspose.Imaging.Xmp.IHasXMPData.xmpDat i __ WL16__ .Exif.IhasExivDate.ExIFDati valors a Null.
public override void RemoveMetadata()
SaveData(Stream)
Estalvia les dades.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
El flux per salvar les dades a.
SetResolution(doble, doble)
Estableix la resolució per a la Aspose.Imaging.RasterImage especificada, garantintcapacitats exactes d’escalació i impressió. aquest mètode permet als usuaris adaptar-sela resolució d’imatge per satisfer els seus requisits específics, sigui per a digitaldisplay o reproducció física. mitjançant la configuració de la resolució, els usuaris poden optimitzarqualitat de la imatge i garantir la compatibilitat amb diversos dispositius i mitjans de sortida,Millorar l’experiència visual general i la usabilitat de la imatge.
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
La resolució horitzontal, en punts per polz, de la Aspose.Imaging.RasterImage.
dpiY
double
La resolució vertical, en punts per polz, de la Aspose.Imaging.RasterImage.
Examples
L’exemple següent mostra com configurar la resolució horitzontal/vertical d’una imatge 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(Int, Int)
Actualitza les dimensions de la imatge.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
La nova imatge d’amplada.
newHeight
int
Alçada de la nova imatge.
UpdateMetadata()
Actualitza els metadats de la imatge.
protected override void UpdateMetadata()