Class JpegImage
Der Name: Aspose.Imaging.FileFormats.Jpeg Versammlung: Aspose.Imaging.dll (25.4.0)
Effiziente Manipulation von JPEG-Rasterbildern mit unserer API, die Unterstützung bietetfür verschiedene Farbenprofile wie RGB und CMYK, anpassbare Bits pro PixelAuflösung und Verarbeitung von EXIF, JFIF und XMP Metadatenbehältern.Genießen Sie automatisierte Rotation basierend auf Orientierungsdaten und wählen Sie aus verschiedenenKompressionsniveaus, einschließlich JPEG ohne Verlust, um eine optimale Bildqualität zu erzielenDatei Größe Balance für Ihre Projekte.
[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
Vererbte Mitglieder
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
Access Camera Maker Notizen in Jpeg Bild.
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);
}
}
Das Beispiel zeigt, wie man ein JpegImage aus einem Datei laden kann.
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)
Die Aspose.Imaging.FileFormats.Jpeg.JpegImage-Klasse beginnt ohne Mühe, indem sie ihreKonstruktor mit dem angegebenen Pfadparameter. Dieser Konstruktor ermöglicht dieErstellen von JPEG-Bilder, die eine schnelle Integration in Ihre Projekte mit Leichtigkeit gewährleisten.
public JpegImage(string path)
Parameters
path
string
Der Weg zum Laden von Bild und Initialisieren von Pixel und Palette-Daten mit.
Examples
Das Beispiel zeigt, wie man ein JpegImage aus einem Datei laden kann.
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)
Initialisieren Sie ein JPEG Bildobjekt mit der Klasse Aspose.Imaging.FileFormats.Jpeg.JpegImage mit einerStreamparameter. Dieser Konstruktor vereinfacht den Prozess der Arbeit mit JPEGBilder, die einen einfachen Ansatz bieten, um sie in Ihre Projekte zu integrierenohne Anstrengung.
public JpegImage(Stream stream)
Parameters
stream
Stream
Der Strom zum Laden von Bild und Initialisieren von Pixel und Palette-Daten mit.
Examples
Das Beispiel zeigt, wie man ein JpegImage aus einem Dateistrom laden kann.
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)
Initialisieren Sie eine neue Instanz der Aspose.Imaging.FileFormats.Jpeg.JpegImage Klasse mit einem RasterbildDieser Konstruktor bietet eine bequeme Möglichkeit, JPEG-Bilder zu erstellendirekt von Raster-Bilder, die Workflow für die Arbeit mit JPEG-Bilder vereinfachenin Ihren Anwendungen.
public JpegImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
Das Bild, um Pixel und Palette-Daten mit zu initialisieren.
Examples
Das Beispiel zeigt, wie man ein JpegImage von einem anderen RasterImage laden kann.
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(und int, int)
Erstellen Sie eine neue Instanz der Aspose.Imaging.FileFormats.Jpeg.JpegImage Klasse mit der angegebenen Breiteund Höhenparameter. Dieser Konstruktor ermöglicht es Ihnen, JPEG Bilder mitPersonalisierte Dimensionen, die Ihnen Flexibilität bei der Verwaltung von Bildgrößen in Ihrer Anwendung bieten.
public JpegImage(int width, int height)
Parameters
width
int
Die Bildweite.
height
int
Die Bildhöhe.
Examples
Das folgende Beispiel zeigt, wie man ein JPEG Bild der angegebenen Größe erstellen kann.
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");
}
Das folgende Beispiel laden ein BMP-Bild auf und speichert es in JPEG mit verschiedenen Speicheroptionen.
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, int)
Initialisieren Sie ein neues Aspose.Imaging.FileFormats.Jpeg.JpegImage Objekt mit den bereitgestellten JPEG Optionen.Dieser Konstruktor ermöglicht es Ihnen, verschiedene Einstellungen für das JPEG-Bild anzupassen, wieKompressionsniveau, Qualität und zusätzliche Parameter, die genaue Kontrolle gewährenber das resultierende Bildformat.
public JpegImage(JpegOptions jpegOptions, int width, int height)
Parameters
jpegOptions
JpegOptions
Die jpeg Optionen.
width
int
Bild Breite.
height
int
Bildhöhe zu sehen.
Examples
Das folgende Beispiel laden ein BMP-Bild auf und speichert es in JPEG mit verschiedenen Speicheroptionen.
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);
}
Das folgende Beispiel zeigt, wie man ein JPEG-Bild der angegebenen Größe mit den angegebenen Parameter erstellen kann.
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
Wiederherstellen Sie die Pixeltiefe des Bildes mit dieser Eigenschaft, bietetEinblick in die Reichtum von Farbe oder grayscale repräsentation. ob es einedynamische Fotografie oder eine monochrome Illustration, diese Eigenschaft bietet entscheidendeInformationen über die visuelle Komplexität des Bildes.
public override int BitsPerPixel { get; }
Eigentumswert
CmykColorProfile
Das CMYK-Farbprofil, das mit CMYK und YCCK JPEG-Bilder verbunden ist, gewährleistet die GenauigkeitFarbkonvertierung und Treue. Es funktioniert in Verbindung mit dem RGBColorProfilegarantiert eine genaue Farbvertretung über verschiedene Geräte und Anwendungen.Diese Paarung ist von entscheidender Bedeutung für die Erhaltung der Konsistenz in der Farbe-Renderung undOptimale Bildqualität zu erreichen.
public StreamSource CmykColorProfile { get; set; }
Eigentumswert
Examples
Das folgende Beispiel laden PNG und speichert es in CMYK JPEG mit benutzerdefinierter ICC-Profil. Dann laden CMYK JPEG und speichert es zurück in PNG. Die Farbkonvertierung von RGB in CMYK und von CMYK in RGB wird mit benutzerdefinierter ICC-Profile durchgeführt.
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
Verwaltung von JPEG-Datei Kommentare mit dieser Eigenschaft, die es Ihnen ermöglicht, hinzuzufügen oder herauszufügendescriptive Ankündigungen, die mit dem Bild verbunden sind. ob es Bilder mitMetadaten oder zusätzliche Kontexte, bietet diese Eigenschaft Flexibilität inIhre JPEG-Dateien organisieren und kategorisieren.
public string Comment { get; set; }
Eigentumswert
DestinationCmykColorProfile
Das CMYK-Farbprofil ist entscheidend für die genaue Farbkonvertierung von CMYK und YCCK.JPEG Bilder während des Speicherungsprozesses. Es funktioniert in Tandem mit dem RGBColorProfileum eine korrekte Farbvertretung zu gewährleisten, die Konsistenz und Qualität zwischen denverschiedene Geräte und Software. Diese Synchronisierung ist entscheidend, umGenauere und zuverlässige Farbenrenderung in den letzten gespeicherten Bildern.
public StreamSource DestinationCmykColorProfile { get; set; }
Eigentumswert
DestinationRgbColorProfile
Das RGBColorProfile ist für die genaue Farbkonvertierung von CMYK und YCCK unerlässlich.JPEG-Bilder während des Speicherprozesses.Wenn mit dem CMYKColorProfile gefeiert wurde,sicherzustellen, dass die Farben ordnungsgemäß dargestellt werden und die Konsistenz zwischenverschiedene Geräte und Anwendungen. Diese Kombination ist entscheidend für die Erhaltung derZielfarbige Repräsentation und Erreichung hochwertiger Bildproduktion.
public StreamSource DestinationRgbColorProfile { get; set; }
Eigentumswert
ExifData
Verwaltung von EXIF-Daten mit dieser Eigenschaft, die es Ihnen ermöglicht, Metadaten hinzuzufügen oder zurückzuziehenmit dem Bild verbunden. ob es Informationen über die Kamera extrahiertEinstellungen oder Änderungen bestehender Metadaten, bietet diese Eigenschaft Flexibilität inVerwaltung des EXIF-Datencontainers.
public JpegExifData ExifData { get; set; }
Eigentumswert
Examples
Das folgende Beispiel zeigt, wie man EXIF-Tags aus einem JPEG-Bild extrahieren kann.
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
Wiederherstellen Sie das Format des Bildes mit diesem Eigentum ohne Mühe.wertvolle Einblicke in das Dateiformat, hilft bei unbequeme Integration undKompatibilität überprüft über verschiedene Plattformen und Anwendungen.
public override FileFormat FileFormat { get; }
Eigentumswert
Height
Erholen Sie die Höhe des Bildes mit diesem Eigentum ohne Mühe. Es bietet schnellZugang zur vertikalen Dimension des Bildes, so dass Sie effizientdie Größe und Aspektverhältnis ermitteln, ohne dass komplexe Berechnungen oderund zusätzliche Methoden.
public override int Height { get; }
Eigentumswert
HorizontalResolution
Diese Eigenschaft ermöglicht Ihnen den Zugang zur horizontalen Auflösung derAspose.Imaging.RasterImage, gemessen in Pixeln pro Zoll.mit diesem Wert können Sie die Auflösung des Bildes genau kontrollieren und sicherstellen, dasserfüllt Ihre spezifischen Anforderungen an Qualität und Klarheit.
public override double HorizontalResolution { get; set; }
Eigentumswert
Examples
Das folgende Beispiel zeigt, wie man die horizontale/vertikale Auflösung eines JPEG-Bildes festlegt.
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
Bitte beachten Sie, dass diese Wert immer 96 ist, da verschiedene Plattformen die Bildschirmresolution nicht zurückgeben können. Sie können die SetResolution-Methode verwenden, um beide Resolutionwerte in einem einzigen Anruf zu aktualisieren.
IgnoreEmbeddedColorProfile
Retriebe oder modifiziert die Flagge, um festzustellen, ob das eingebettete Farbprofildurch die Einstellung dieser Flagge können Benutzer festlegen, ob die StandardfarbeProfil sollte anstelle des eingebetteten verwendet werden. Diese Option gewährleistet größereKontrolle des Farbmanagements, die Anpassungen für Konsistenz undKompatibilität über verschiedene Plattformen und Anwendungen.
public bool IgnoreEmbeddedColorProfile { get; set; }
Eigentumswert
Jfif
Diese Eigenschaft ermöglicht Ihnen den Zugriff oder die Änderung des JFIF (JPEG File Interchange)Format) Daten im Zusammenhang mit der JPEG-Bild. JFIF ist ein Standardformat fürJPEG-komprimierte Bilder zwischen Computern und anderen Geräten austauschen.oder diese Eigenschaft festlegen, können Sie mit den JFIF-Daten interagieren, dieInformationen wie die Auflösung des Bildes, Aspektverhältnis und Miniatur.
public JFIFData Jfif { get; set; }
Eigentumswert
JpegOptions
Erhalten Sie Zugang zu den JPEG-Optionen, die während der Erstellung oder Laden diesesAspose.Imaging.FileFormats.Jpeg.JpegImage Beispiel mit Leichtigkeit. Diese Immobilie bietet wertvolle Detailsüber die angewandten spezifischen Einstellungen, die Benutzern erlaubt, zu verstehen und zu replizierenBildverarbeitung Workflows effizient. ob es Kompressionsniveaus, QualitätEinstellungen oder andere Parameter, diese Eigenschaft bietet wesentliche Einblicke fürUnbequeme Bildmanipulation.
public JpegOptions JpegOptions { get; }
Eigentumswert
Examples
Das folgende Beispiel zeigt, wie man die Headerinformationen aus einem JPEG-Bild extrahiert.
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
Diese Eigenschaft erfährt das Rohdatenformat des Bildes, das zeigt, wie dieBilddaten sind strukturiert und verschlüsselt. Verständnis des Rohdatenformats istwesentlich für die Verarbeitung oder Manipulation der Bilddaten wirksam.Einblick in die zugrunde liegende Darstellung des Bildes, z. B. ob esKomprimiert, in einem bestimmten Farbraum verschlüsselt oder in einem bestimmten Datei gespeichertZugriff auf diese Eigenschaft ermöglicht es Ihnen, wertvolle Informationen über dieDatenstruktur des Bildes, die es Ihnen ermöglicht, verschiedene Operationen oder Optimierungen durchzuführenAnpassung zu seinem spezifischen Format.
public override PixelDataFormat RawDataFormat { get; }
Eigentumswert
RgbColorProfile
Das RGB-Farbprofil für CMYK und YCCK JPEG-Bilder sorgt für genaue FarbeKonvertierung und Repräsentation. Es muss mit dem CMYKColorProfile versehen werdendie Konsistenz und Treue bei der Farbenrenderung aufrechterhalten. Diese Paarung ist unerlässlich fürAnwendungen, die präzise Farbmanagement und Reproduktion von Bildern erfordern,sicherstellen, dass die RGB-Daten ordnungsgemäß interpretiert und angezeigt werden.
public StreamSource RgbColorProfile { get; set; }
Eigentumswert
Examples
Das folgende Beispiel laden PNG und speichert es in CMYK JPEG mit benutzerdefinierter ICC-Profil. Dann laden CMYK JPEG und speichert es zurück in PNG. Die Farbkonvertierung von RGB in CMYK und von CMYK in RGB wird mit benutzerdefinierter ICC-Profile durchgeführt.
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
Diese Eigenschaft verwaltet die vertikale Auflösung, die in Pixeln pro Zoll ausgedrückt wird, fürdie mit Aspose.Imaging.RasterImage verbundene Anpassung dieser Auflösung beeinflusst dieGröße und Qualität des Bildes, wenn er in einer festen physischen Größe gedruckt oder angezeigt wird.Durch die Einstellung dieser Eigenschaft kontrollieren Sie, wie dicht die Pixel des Bilds verpackt sind.vertikal, was seine allgemeine Schärfe und Klarheit beeinflusst.
public override double VerticalResolution { get; set; }
Eigentumswert
Examples
Das folgende Beispiel zeigt, wie man die horizontale/vertikale Auflösung eines JPEG-Bildes festlegt.
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
Bitte beachten Sie, dass diese Wert immer 72 ist, da verschiedene Plattformen die Auflösung des Bildschirms nicht zurückgeben können. Sie können die SetResolution-Methode verwenden, um beide Auflösungswerte in einem einzigen Anruf zu aktualisieren.
Width
Diese Eigenschaft erfasst die Breite des Bildes, die in Pixeln ausgedrückt wird.wesentliche Informationen über die Dimensionen des Bildes, die eine genaue Darstellung ermöglichen,Manipulation oder Anzeige der Bilddaten.
public override int Width { get; }
Eigentumswert
XmpData
XMP-Metadaten erfasst oder zusammengestellt, die eine unmittelbare Integration vonBeschreibungsinformationen in die Bilddatei. ob Sie bestehende XMP extrahierenMetadaten oder aktualisieren sie mit neuen Informationen, diese Eigenschaft vereinfacht dieVerwaltung erweiterter Metadaten, die Kompatibilität mit verschiedenen Anwendungen gewährleistenund Arbeitsflüsse.
public override XmpPacketWrapper XmpData { get; set; }
Eigentumswert
Methods
AutoRotate()
Automatisch dreht sich das Bild basierend auf Orientierungsdaten aus ExifDiese Methode sorgt dafür, dass Bilder in der richtigen Orientierung angezeigt werden,Verbesserung der Benutzererfahrung und Beseitigung der Notwendigkeit für manuelle Anpassungen.Analysieren Sie Exif-Informationen, das Bild wird entsprechend dreht, so dass eine SeamlessSeherfahrung über verschiedene Plattformen und Geräte. Diese automatisierte RotationDer Prozess vereinfacht die Bildbehandlung und verbessert die allgemeine Gebrauchsfähigkeit, insbesondere wennHandeln mit großen Massen von Bildern mit unterschiedlichen Orientierungen.
public void AutoRotate()
Exceptions
Der ‘Orientation’wert von ‘JpegExifData’ ist außerhalb des zulässigen Bereichs [1…8], so dass die automatische Rotation nicht angewendet werden kann.
GetModifyDate(Bool)
Retriebe das Datum und die Uhrzeit, zu dem das Ressourcenbild seine neuesteDiese Methode liefert wertvolle Metadaten, die Benutzern ermöglichen, unddie Aktualisierung der Bilddatei effektiv verwalten.Durch den Zugriff auf diese Informationen, Nutzerkann die Integrität und Währung ihrer Bildvermögenswerte gewährleisten und informiert werdenEntscheidungsfindung in Bezug auf Bildverwendung und Wartung.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Wenn Sie auf ’true’ eingestellt sind, verwenden Sie die Informationen aus FileInfo als Standardwert.
Returns
Das Datum und die Uhrzeit des Ressourcenbildes wurde zuletzt geändert.
ReleaseManagedResources()
Stellen Sie sicher, dass hier keine nicht verwalteten Ressourcen veröffentlicht werden, da sie möglicherweise bereits veröffentlicht wurden.
protected override void ReleaseManagedResources()
RemoveMetadata()
Remove this image instance metadata by setting this Aspose.Imaging.xmp.IHasXmpData.XmPdata and Aspos.Exif.ihasExivDate. Null.
public override void RemoveMetadata()
SaveData(Stream)
Sparen Sie die Daten.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Der Stream, um die Daten zu speichern.
SetResolution(Doppel, Doppel)
Erstellt die Auflösung für die angegebenen Aspose.Imaging.RasterImage,genaue Skalierungs- und Druckfähigkeiten. Diese Methode ermöglicht den Benutzern, sich anzupassendie Bildlösung, um ihren spezifischen Anforderungen zu entsprechen, entweder für digitaleDisplay oder physische Reproduktion. Durch die Einstellung der Auflösung können die Benutzer optimierenBildqualität und Kompatibilität mit verschiedenen Ausgangsgeräten und Mediums,Verbesserung der allgemeinen visuellen Erfahrung und Gebrauchsfähigkeit des Bildes.
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
Die horizontale Auflösung, in Punkten pro Zoll, des Aspose.Imaging.RasterImage.
dpiY
double
Die vertikale Auflösung, in Punkten pro Zoll, des Aspose.Imaging.RasterImage.
Examples
Das folgende Beispiel zeigt, wie man die horizontale/vertikale Auflösung eines JPEG-Bildes festlegt.
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(und int, int)
Aktualisieren Sie die Bilddimensionen.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Die neue Bildweite.
newHeight
int
Die neue Bildhöhe.
UpdateMetadata()
Aktualisieren Sie die Bildmetadata.
protected override void UpdateMetadata()