Class JpegImage
Namn på plats: Aspose.Imaging.FileFormats.Jpeg Församling: Aspose.Imaging.dll (25.4.0)
Effektivt manipulera JPEG rasterbilder med vår API, som erbjuder supportför olika färgprofiler som RGB och CMYK, anpassningsbara bits per pixelUpplösning och bearbetning av EXIF, JFIF och XMP metadatabehållare.Njut av automatiserad rotation baserad på orienteringsdata och välj mellan olikaKomprimeringsnivåer, inklusive JPEG utan förlust, för att uppnå optimal bildkvalitetoch filstorlek balans för dina projekt.
[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
Arvsmedlemmar
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
Tillgång kamera tillverkare anteckningar i 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);
}
}
Exempel visar hur man laddar en JpegImage från en fil.
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(Sträng)
Den Aspose.Imaging.FileFormats.Jpeg.JpegImage-klassen initierar utan ansträngning genom att uppmana sinkonstruktor med den angivna vägen parameter. Denna konstruktor möjliggörskapa JPEG-bilder, säkerställa snabb integration i dina projekt med lätthet.
public JpegImage(string path)
Parameters
path
string
Vägen att ladda bilden från och initialisera pixel- och palettdata med.
Examples
Exempel visar hur man laddar en JpegImage från en fil.
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)
Initiera ett JPEG-bildobjekt med Aspose.Imaging.FileFormats.Jpeg.JpegImage-klassen med hjälp av enströmparameter. Denna konstruktör förenklar processen att arbeta med JPEGbilder, som erbjuder en enkel metod för att integrera dem i dina projektutan ansträngning.
public JpegImage(Stream stream)
Parameters
stream
Stream
Strömmen för att ladda bilden från och initialisera pixel- och palettdata med.
Examples
Exempelet visar hur man laddar en JpegImage från en filström.
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)
Initiera en ny instans av Aspose.Imaging.FileFormats.Jpeg.JpegImage klass med en raster bildDenna konstruktör ger ett bekvämt sätt att skapa JPEG-bilderdirekt från rasterbilder, förenklar arbetsflödet för att arbeta med JPEG-bilderi dina ansökningar.
public JpegImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
Bilden för att initialisera pixel och palettdata med.
Examples
Exempelet visar hur man laddar en JpegImage från en annan RasterImage.
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)
Skapa en ny instans av Aspose.Imaging.FileFormats.Jpeg.JpegImage klass med angiven breddoch höjd parametrar. Denna konstruktör låter dig skapa JPEG-bilder medanpassade dimensioner, vilket ger dig flexibilitet när du hanterar bildstorlekar i din applikation.
public JpegImage(int width, int height)
Parameters
width
int
Bilden är bred.
height
int
bildens höjd.
Examples
Följande exempel visar hur man skapar en JPEG-bild av den angivna storleken.
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");
}
Följande exempel laddar upp en BMP-bild och sparar den till JPEG med olika sparaalternativ.
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)
Initialisera ett nytt Aspose.Imaging.FileFormats.Jpeg.JpegImage objekt med de tillgängliga JPEG-alternativen.Denna konstruktör gör det möjligt för dig att anpassa olika inställningar för JPEG-bilden, såsomsom komprimeringsnivå, kvalitet och ytterligare parametrar, vilket ger noggrann kontrollöver det resulterande bildformat.
public JpegImage(JpegOptions jpegOptions, int width, int height)
Parameters
jpegOptions
JpegOptions
Det är jpeg alternativ.
width
int
Bild i bredd.
height
int
Bild höjd .
Examples
Följande exempel laddar upp en BMP-bild och sparar den till JPEG med olika sparaalternativ.
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);
}
Följande exempel visar hur man skapar en JPEG-bild av den angivna storleken med de angivna parametrarna.
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
Återställa pixeldjupet av bilden utan ansträngning med denna egenskap, erbjuderinsikter i rikedom av färg eller gråskala representation. om det är envibrant fotografi eller en monochromatisk illustration, denna egenskap ger en viktiginformation om bildens visuella komplexitet.
public override int BitsPerPixel { get; }
Fastighetsvärde
CmykColorProfile
CMYK färgprofil associerad med CMYK och YCCK JPEG bilder säkerställer noggrannhetfärgkonvertering och lojalitet. Det fungerar tillsammans med RGBColorProfile för attgarantera noggrann färgrepresentation över olika enheter och applikationer.Detta parande är avgörande för att upprätthålla konsistens i färg rendering ochFör att uppnå optimal bildkvalitet.
public StreamSource CmykColorProfile { get; set; }
Fastighetsvärde
Examples
Följande exempel laddar PNG och sparar den till CMYK JPEG med anpassad ICC-profil. Därefter laddar CMYK JPEG och sparar den tillbaka till PNG. Färgkonversionen från RGB till CMYK och från CMYK till RGB utförs med anpassad ICC-profil.
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
Hantera JPEG-filer kommentarer med denna egenskap, så att du kan lägga till eller ta emotbeskrivande anteckningar associerade med bilden. om det är att tagga bilder medmetadata eller med ytterligare sammanhang, erbjuder denna egenskap flexibilitet iorganisera och kategorisera dina JPEG-filer.
public string Comment { get; set; }
Fastighetsvärde
DestinationCmykColorProfile
CMYK färgprofil är avgörande för korrekt färgkonvertering av CMYK och YCCKJPEG-bilder under spara processen. Det fungerar i tandem med RGBColorProfileför att säkerställa korrekt färgrepresentation, upprätthålla konsistens och kvalitet mellanolika enheter och programvara. denna synkronisering är avgörande för att uppnåkorrekt och tillförlitlig färg rendering i de slutliga spara bilderna.
public StreamSource DestinationCmykColorProfile { get; set; }
Fastighetsvärde
DestinationRgbColorProfile
RGBColorProfile är viktigt för exakt färgkonvertering av CMYK och YCCKJPEG-bilder under spara processen. När paras med CMYKColorProfile,säkerställer att färgerna renderas korrekt och upprätthåller konsistens mellanolika enheter och applikationer. denna kombination är avgörande för att bevaraavsedd färgrepresentation och uppnå högkvalitativ bildproduktion.
public StreamSource DestinationRgbColorProfile { get; set; }
Fastighetsvärde
ExifData
Hantera EXIF-data med denna egenskap, så att du kan lägga till eller ta emot metadataassocierad med bilden. om det är att extrahera information om kameraninställningar eller modifiering av befintliga metadata, erbjuder denna egenskap flexibilitet iHantera EXIF-databehållaren.
public JpegExifData ExifData { get; set; }
Fastighetsvärde
Examples
Följande exempel visar hur man extraherar EXIF-taggar från en JPEG-bild.
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
Återställa formatet av bilden utan ansträngning med denna egenskap.värdefull inblick i filformatet, hjälper till att integrera ochKontrollera kompatibilitet över olika plattformar och applikationer.
public override FileFormat FileFormat { get; }
Fastighetsvärde
Height
Återställa höjden på bilden utan ansträngning med denna egenskap. Det ger snabbtillgång till bildens vertikala dimension, vilket gör att du effektivt kanfastställa dess storlek och aspektförhållande utan behovet av komplexa beräkningar ellerYtterligare metoder .
public override int Height { get; }
Fastighetsvärde
HorizontalResolution
Denna fastighet ger dig tillgång till den horisontella upplösningen avAspose.Imaging.RasterImage, mätt i pixlar per tum. genom att ställa in eller hämtaDetta värde, kan du exakt kontrollera bildens upplösning, säkerställa detuppfyller dina specifika krav på kvalitet och klarhet.
public override double HorizontalResolution { get; set; }
Fastighetsvärde
Examples
Följande exempel visar hur man ställer in en horisontell/vertikal upplösning av en JPEG-bild.
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
Detta värde är alltid 96 eftersom olika plattformar inte kan returnera skärmupplösningen. Du kan överväga att använda SetResolution-metoden för att uppdatera båda upplösningsvärdena i ett enda samtal.
IgnoreEmbeddedColorProfile
återställer eller ändrar flaggan som anger om den inbyggda färgprofilen ärGenom att ställa in denna flagga kan användarna ange om standardfärgenprofil bör användas i stället för den inbäddade en. Det här alternativet säkerställer störrekontroll över färghantering, för att underlätta justeringar för konsistens ochkompatibilitet över olika plattformar och applikationer.
public bool IgnoreEmbeddedColorProfile { get; set; }
Fastighetsvärde
Jfif
Denna egenskap gör att du kan komma åt eller ändra JFIF (JPEG File Interchange)Format) data associerade med JPEG-bild. JFIF är ett standardformat förutbyta JPEG-komprimerade bilder mellan datorer och andra enheter.eller ställa in denna egendom, kan du interagera med JFIF-data, som kan innehållainformation som bildens upplösning, aspektförhållande och miniatyr.
public JFIFData Jfif { get; set; }
Fastighetsvärde
JpegOptions
Få tillgång till de JPEG-alternativ som används under skapandet eller laddningen av dettaAspose.Imaging.FileFormats.Jpeg.JpegImage instans med lätthet. Denna fastighet erbjuder värdefulla detaljerom de specifika inställningarna som används, vilket gör det möjligt för användare att förstå och reproducerabild bearbetning arbetsflöden effektivt. oavsett om det är kompression nivåer, kvalitetinställningar, eller andra parametrar, denna egendom ger väsentliga insikter omotillbörlig bildmanipulation.
public JpegOptions JpegOptions { get; }
Fastighetsvärde
Examples
Följande exempel visar hur man extraherar headerinformation från en JPEG-bild.
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
Denna egendom hämtar det rådataformat av bilden, vilket indikerar hurbilddata är strukturerad och kodad. förstå rådata formatet ärär nödvändigt för att bearbeta eller manipulera bilddata effektivt.inblick i den underliggande representationen av bilden, till exempel om den ärkomprimerad, kodad i ett visst färgutrymme eller lagrad i en viss filTillgång till denna egendom gör att du kan få värdefull information ombildens datastruktur, vilket gör att du kan utföra olika operationer eller optimeringaranpassad till dess specifika format.
public override PixelDataFormat RawDataFormat { get; }
Fastighetsvärde
RgbColorProfile
RGB färgprofil för CMYK och YCCK JPEG-bilder säkerställer noggrann färgkonvertering och representation. den måste kopplas till CMYKColorProfile för attupprätthålla konsistens och lojalitet i färg rendering. denna paring är nödvändig förapplikationer som kräver noggrann färghantering och reproduktion av bilder,säkerställa att RGB-data tolkas och visas på ett korrekt sätt.
public StreamSource RgbColorProfile { get; set; }
Fastighetsvärde
Examples
Följande exempel laddar PNG och sparar den till CMYK JPEG med anpassad ICC-profil. Därefter laddar CMYK JPEG och sparar den tillbaka till PNG. Färgkonversionen från RGB till CMYK och från CMYK till RGB utförs med anpassad ICC-profil.
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
Denna egenskap hanterar den vertikala upplösningen, uttryckt i pixlar per tum, förden associerade Aspose.Imaging.RasterImage. justeringen av denna upplösning påverkarStorlek och kvalitet på bilden när den skrivs ut eller visas i en fast fysisk storlek.Genom att ställa in denna egenskap kontrollerar du hur djupt bildens pixlar är förpackade.vertikalt, vilket påverkar dess övergripande skärpa och klarhet.
public override double VerticalResolution { get; set; }
Fastighetsvärde
Examples
Följande exempel visar hur man ställer in en horisontell/vertikal upplösning av en JPEG-bild.
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
Detta värde är alltid 72 eftersom olika plattformar inte kan returnera skärmupplösningen. Du kan överväga att använda SetResolution-metoden för att uppdatera båda upplösningsvärdena i ett enda samtal.
Width
Denna egenskap återfår bildens bredd, uttryckt i pixlar.viktig information om bildens dimensioner, vilket möjliggör exakt rendering,manipulation, eller visning av bilddata.
public override int Width { get; }
Fastighetsvärde
XmpData
får eller sätter in XMP-metadata, vilket gör det möjligt att integrerabeskrivande information i bildfilen. om du extraherar befintlig XMPMetadata eller uppdatera den med ny information, denna egenskap förenklarhantering av utökade metadata, säkerställande av kompatibilitet med olika applikationeroch arbetsflöden.
public override XmpPacketWrapper XmpData { get; set; }
Fastighetsvärde
Methods
AutoRotate()
Automatiskt roterar bilden baserat på orienteringsdata som extraheras från ExifMetoden säkerställer att bilder visas i rätt riktning,förbättra användarupplevelsen och eliminera behovet av manuella justeringar.analysera Exif information, bilden roteras i enlighet med detta, vilket ger envisa upplevelsen över olika plattformar och enheter. denna automatiserade rotationprocessen förenklar bildhantering och förbättrar den övergripande användbarheten, särskilt närhantera stora bitar av bilder med olika orienteringar.
public void AutoRotate()
Exceptions
Orienteringsvärdet för ”JpegExifData” är utanför tillåtna intervallet [1…8], så automatisk rotation kan inte tillämpas.
GetModifyDate(Bool)
Returnerar datumet och tiden när resursbilden genomgick sin senasteDenna metod ger värdefulla metadata, vilket gör det möjligt för användare att spåra ochhantera uppdateringar till bildfilen effektivt. genom att komma åt denna information, användarekan säkerställa integriteten och valutan av deras image tillgångar, underlättabeslut om bildanvändning och underhåll.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
Om du ställer in “true” använder du informationen från FileInfo som standardvärde.
Returns
Datum och tid resursbilden ändrades senast.
ReleaseManagedResources()
Se till att inga okontrollerade resurser släpps här, eftersom de kanske redan har släppts.
protected override void ReleaseManagedResources()
RemoveMetadata()
Ta bort den här bildinstansmetadata genom att ställa in detta Aspose.Imaging.Xmp.IHasXMPData.xmpDat och WR17.Exif.IHasEksifDate. noll.
public override void RemoveMetadata()
SaveData(Stream)
Spara dina data.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Strömmen för att spara data till.
SetResolution(dubbel, dubbel)
Ställer in upplösningen för den angivna Aspose.Imaging.RasterImage, säkerställerexakta skalnings- och utskriftskapacitet. Denna metod gör det möjligt för användare att anpassa sig tillbildupplösning för att uppfylla sina specifika krav, oavsett om det är digitaltdisplay eller fysisk reproduktion. Genom att ställa in upplösningen kan användarna optimerabildkvalitet och säkerställer kompatibilitet med olika utgångsapparater och medium,förbättra den övergripande visuella upplevelsen och användbarheten av bilden.
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
Den horisontella upplösningen, i punkter per tum, av Aspose.Imaging.RasterImage.
dpiY
double
Den vertikala upplösningen, i punkter per tum, av Aspose.Imaging.RasterImage.
Examples
Följande exempel visar hur man ställer in en horisontell/vertikal upplösning av en JPEG-bild.
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)
Uppdatera bilddimensionerna.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Den nya bilden bredd.
newHeight
int
Den nya bilden höjd.
UpdateMetadata()
Uppdatera bildmetadata.
protected override void UpdateMetadata()