Class JpegImage
Името на пространството: Aspose.Imaging.FileFormats.Jpeg Асамблея: Aspose.Imaging.dll (25.4.0)
Ефективно манипулиране на JPEG растер изображения с нашата API, предлагайки поддръжказа различни цветови профили като RGB и CMYK, персонализирани битове на пикселРезолюция и обработка на EXIF, JFIF и XMP метаданни контейнери.Насладете се на автоматизираната ротация въз основа на данни за ориентация и изберете различнинива на компресия, включително JPEG без загуби, за постигане на оптимално качество на изображениетои баланс на размера на файла за вашите проекти.
[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
наследници
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
Достъп на фотоапарата производител бележки в 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);
}
}
Примерът показва как да изтеглите JpegImage от файл.
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(Стрий)
Класата Aspose.Imaging.FileFormats.Jpeg.JPEGImage започва без усилие, като призовава застроител с посочения параметър на пътя. Този конструктор позволява безсиленсъздаване на JPEG изображения, осигуряване на бърза интеграция в вашите проекти с лекота.
public JpegImage(string path)
Parameters
path
string
Пътят за изтегляне на изображението от и инициализиране на пиксели и палети данни с.
Examples
Примерът показва как да изтеглите JpegImage от файл.
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)
Инициализиране на JPEG изображение обект с Aspose.Imaging.FileFormats.Jpeg.JPegImage клас с помощта наТози конструктор улеснява процеса на работа с JPEGизображения, предлагащи прост подход за интегриране в вашите проектибез усилие.
public JpegImage(Stream stream)
Parameters
stream
Stream
Потокът за изтегляне на изображението от и инициализиране на пиксели и палети данни с.
Examples
Примерът показва как да изтеглите JpegImage от файл поток.
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)
Иницијализирайте нова инстанция на класата Aspose.Imaging.FileFormats.Jpeg.JPEG с изображение на растерТози конструктор осигурява удобен начин за създаване на JPEG изображениядиректно от растер изображения, улесняване на работния поток за работа с JPEG снимкив техните приложения.
public JpegImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
Изображение, за да стартирате пиксели и палети данни с.
Examples
Примерът показва как да изтеглите JpegImage от друг 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(в, в)
Създаване на нова инстанция на Aspose.Imaging.FileFormats.Jpeg.MapImage клас с посочената ширинаТози конструктор ви позволява да създадете JPEG изображения сперсонализирани измерения, които ви дават гъвкавост при управлението на размера на изображението в приложението.
public JpegImage(int width, int height)
Parameters
width
int
Ширина на изображението.
height
int
Височина на изображението.
Examples
Следващият пример показва как да се създаде JPEG изображение на посочения размер.
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");
}
Следващият пример зарежда BMP изображение и го съхранява в JPEG с помощта на различни възможности за съхранение.
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, инт)
Инициализиране на нов Aspose.Imaging.FileFormats.Jpeg.JPegImage обект с предоставените опции за JPEG.Този конструктор ви позволява да персонализирате различни настройки за JPEG изображението, като например:като ниво на компресия, качество и допълнителни параметри, предоставящи точен контролФормат на полученото изображение.
public JpegImage(JpegOptions jpegOptions, int width, int height)
Parameters
jpegOptions
JpegOptions
Опции за JPEG.
width
int
Ширина на изображението.
height
int
Височина на изображението.
Examples
Следващият пример зарежда BMP изображение и го съхранява в JPEG с помощта на различни възможности за съхранение.
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);
}
Следващият пример показва как да се създаде JPEG изображение на посочения размер с посочените параметри.
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
Възстановяване на пикселната дълбочина на изображението без усилия с това свойство, предлагайкиВнимание за богатството на цветовете или гравитационното представяне.жизненоважна фотография или монохромна илюстрация, тази собственост осигурява решаващо значениеинформация за визуалната сложност на изображението.
public override int BitsPerPixel { get; }
стойност на имота
CmykColorProfile
Профилът на цветовете на CMYK, свързан с изображенията на JPEG и YCCK, осигурява точност.цветна конверсия и лоялност. работи в сътрудничество с RGBColorProfile заГаранция за точна цветна представяне на различни устройства и приложения.Тази двойка е от решаващо значение за поддържането на последователност в цветовата рендерия иОсигуряване на оптимално качество на изображението.
public StreamSource CmykColorProfile { get; set; }
стойност на имота
Examples
Следващият пример зарежда PNG и го съхранява в CMYK JPEG с помощта на персонализиран ICC профил. След това зареждат CMYK JPES и я съхраняват обратно в ПNG. Конвертирането на цветовете от RGB до CMYN и от CMYL до RMB се извършва с използване на специални ICR профили.
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
Управление на JPEG файлове коментари с тази собственост, което ви позволява да добавите или изтеглитеописателни бележки, свързани с изображението. дали това е етикетиране на изображения сметаданни или с допълнителен контекст, тази собственост предлага гъвкавост вОрганизиране и класиране на вашите JPEG файлове.
public string Comment { get; set; }
стойност на имота
DestinationCmykColorProfile
Цветният профил на CMYK е от жизненоважно значение за точната конверсия на цветовете наCMYK и YCCK.JPEG изображения по време на процеса на спестяване. работи в тандем с RGBColorProfileосигуряване на правилното цветно представяне, поддържане на последователността и качеството междуразлични устройства и софтуер. тази синхронизация е от решаващо значение за постигането наточна и надеждна цветова рендерация в последните съхранени изображения.
public StreamSource DestinationCmykColorProfile { get; set; }
стойност на имота
DestinationRgbColorProfile
RGBColorProfile е от съществено значение за точната конверсия на цветовете на CMYK и YCCKJPEG изображения по време на процеса на съхранение. Когато се паира с CMYKColorProfile,Уверете се, че цветовете са правилно преработени и поддържат последователност междуразлични устройства и приложения. тази комбинация е от решаващо значение за запазването нацеленасочено цветно представяне и постигане на високо качество на изображението.
public StreamSource DestinationRgbColorProfile { get; set; }
стойност на имота
ExifData
Управление на EXIF данни с тази собственост, което ви позволява да добавите или извличате метаданнисвързана с изображението. дали тя е извличане на информация за камератанастройки или промяна на съществуващите метаданни, тази собственост предлага гъвкавост вУправление на контейнера за данни EXIF.
public JpegExifData ExifData { get; set; }
стойност на имота
Examples
Следващият пример показва как да се извличат EXIF етикетите от 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
Възстановяване на формата на изображението без усилие с тази собственост.ценно разбиране за формат на файла, помагайки в безкрайната интеграция иПроверка на съвместимостта на различни платформи и приложения.
public override FileFormat FileFormat { get; }
стойност на имота
Height
Възстановяване на височината на изображението без усилия с това свойство.достъп до вертикалното измерение на изображението, което ви позволява даопределя размера и аспектния му съотношение без необходимостта от сложни изчисления илиДопълнителни методи .
public override int Height { get; }
стойност на имота
HorizontalResolution
Тази собственост ви дава достъп до хоризонталното разрешение наAspose.Imaging.RasterImage, измерено в пиксели на инча.тази стойност, можете точно да контролирате резолюцията на изображението, осигурявайкиОтговаря на специфичните ви изисквания за качество и яснота.
public override double HorizontalResolution { get; set; }
стойност на имота
Examples
Следващият пример показва как да се зададе хоризонтална/вертикална резолюция на 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
Забележка по подразбиране тази стойност винаги е 96, тъй като различните платформи не могат да върнат резолюцията на екрана.Можете да разгледате използването на метода SetResolution за актуализиране и на двете стойности на резолуцията в едно обаждане.
IgnoreEmbeddedColorProfile
Превръща или променя знамето, което показва дали вграденият цвят еЧрез поставянето на този флаг, потребителите могат да посочат дали цветът по подразбиранепрофилът трябва да се използва вместо вградения. тази опция осигурява по-голямаконтрол на управлението на цветовете, улесняване на коригирането на последователността иСъвместимост на различни платформи и приложения.
public bool IgnoreEmbeddedColorProfile { get; set; }
стойност на имота
Jfif
Тази собственост ви позволява да получите достъп или да промените JFIF (JPEG File Interchange)Формат) данни, свързани с изображението JPEG. JFIF е стандартен формат заобмен на JPEG компресирани изображения между компютри и други устройства.или да зададете тази собственост, можете да взаимодействате с JFIF данните, които могат да включватинформация като резолюция на изображението, аспектно съотношение и миниатюра.
public JFIFData Jfif { get; set; }
стойност на имота
JpegOptions
Придобиване на достъп до JPEG опциите, използвани по време на създаването или зареждането на тозиAspose.Imaging.FileFormats.Jpeg.GpgImage инстанция с лекота. Тази собственост предлага ценни подробностиза конкретните настройки, използвани, които позволяват на потребителите да разберат и репродуциратобработка на изображения работен поток ефективно. независимо дали това е нива на компресия, качествонастройки, или други параметри, тази собственост осигурява съществено разбиране заБезсмислена манипулация на изображението.
public JpegOptions JpegOptions { get; }
стойност на имота
Examples
Следващият пример показва как да се извлече информацията за заглавието от 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
Тази собственост получава формата на сурови данни на изображението, което показва какизображенията са структурирани и кодирани. разбиране на формата на сурови данни ее от съществено значение за ефективното обработване или манипулиране на данните на изображението.възприемане на основното изображение на изображението, като например дали екомпресирани, кодирани в определено цветово пространство или съхранявани в конкретен файлдостъп до тази собственост ви позволява да получите ценна информация заструктурата на данните на изображението, която ви позволява да извършвате различни операции или оптимизацииПриспособен към специфичния му формат.
public override PixelDataFormat RawDataFormat { get; }
стойност на имота
RgbColorProfile
Профилът на цветовете RGB за CMYK и YCCK JPEG изображения осигурява точен цвятпреобразуване и представяне. тя трябва да бъде паирана с CMYKColorProfile заподдържа последователност и лоялност в цветовото представяне. тази двойка е от съществено значение заприложения, които изискват точно управление на цветовете и възпроизвеждане на изображения,да се гарантира, че RGB данните се тълкуват и показват правилно.
public StreamSource RgbColorProfile { get; set; }
стойност на имота
Examples
Следващият пример зарежда PNG и го съхранява в CMYK JPEG с помощта на персонализиран ICC профил. След това зареждат CMYK JPES и я съхраняват обратно в ПNG. Конвертирането на цветовете от RGB до CMYN и от CMYL до RMB се извършва с използване на специални ICR профили.
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
Тази собственост управлява вертикалната резолюция, изразена в пиксели на инч, засвързан Aspose.Imaging.RasterImage. приспособяването на тази резолюция засягаРазмер и качество на изображението, когато е отпечатан или показан при фиксиран физически размер.Чрез настройката на това свойство можете да контролирате колко гъсто са опаковани пикселите на изображението.вертикално, което засяга общата му острота и яснота.
public override double VerticalResolution { get; set; }
стойност на имота
Examples
Следващият пример показва как да се зададе хоризонтална/вертикална резолюция на 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
Забележка по подразбиране тази стойност винаги е 72 тъй като различните платформи не могат да върнат резолюцията на екрана.Можете да разгледате използването на метода SetResolution за актуализиране и на двете стойности на резолуцията в едно обаждане.
Width
Тази собственост възприема ширината на изображението, изразена в пиксели.съществена информация за измеренията на изображението, което позволява точно представяне,манипулация или показване на данните на изображението.
public override int Width { get; }
стойност на имота
XmpData
получава или съставя XMP метаданни, което позволява безпроблемна интеграция наописателна информация в файла на изображението. дали извличате съществуващ XMPметаданни или актуализиране с нова информация, тази собственост улесняваУправление на разширени метаданни, осигуряване на съвместимост с различни приложенияи работните потоци.
public override XmpPacketWrapper XmpData { get; set; }
стойност на имота
Methods
AutoRotate()
Автоматично върти изображението въз основа на данни за ориентация, извлечени от ExifТози метод гарантира, че изображенията се показват в правилната ориентация,подобряване на потребителския опит и елиминиране на необходимостта от ръчни корекции.анализиране на Exif информация, изображението се върти в съответствие с това, осигурявайки безсеменПреглед на опит в различни платформи и устройства. това автоматизирано въртенеПроцесът улеснява обработката на изображенията и подобрява общата годност, особено когатоДа се справят с големи комплекти от изображения с различни ориентации.
public void AutoRotate()
Exceptions
Значението „Ориентация“ на „JpegExifData“ е извън допустимия диапазон [1…8], така че автоматичното ротиране не може да се прилага.
GetModifyDate(Боул)
Повтаря датата и времето, когато изображението на ресурса е претърпяло последната сиТози метод предоставя ценни метаданни, което позволява на потребителите да проследяват иУправление на актуализации на файла на изображението ефективно. чрез достъп до тази информация, потребителитемогат да гарантират целостта и валутата на имиджните си активи, като улесняват информиранетовземане на решения относно използването и поддръжката на изображенията.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
ако сте зададени на “истински”, използвайте информацията от FileInfo като стандартна стойност.
Returns
Датата и времето на изображението на ресурса е последната промяна.
ReleaseManagedResources()
Уверете се, че не управлявани ресурси не се пускат тук, тъй като те може да са вече пуснати.
protected override void ReleaseManagedResources()
RemoveMetadata()
Премахване на метаданни на тази образа, като зададете тези стойности на Aspose.Imaging.Xmp.IHasXMPData.xmpДata и _ www.exif.ihas ExifDat. нула.
public override void RemoveMetadata()
SaveData(Stream)
Съхранява данните.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Потокът за съхранение на данните.
SetResolution(Двойна, двойна)
установява резолюцията за посочения Aspose.Imaging.RasterImage, осигуряваточни възможности за скалиране и печат. Този метод позволява на потребителите да се адаптиратрезолюция на изображението, за да отговарят на специфичните им изисквания, независимо дали за цифровидисплей или физическо възпроизвеждане.С настройката на резолюцията, потребителите могат да оптимизираткачество на изображението и осигуряване на съвместимост с различни устройства и медии за изход;Подобряване на общото визуално преживяване и използваемост на изображението.
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
Горизонталната резолюция, в точки на инч, на Aspose.Imaging.RasterImage.
dpiY
double
Вертикалната резолюция, в точки на инч, на Aspose.Imaging.RasterImage.
Examples
Следващият пример показва как да се зададе хоризонтална/вертикална резолюция на 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(в, в)
Актуализирайте измеренията на изображението.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Новото изображение с широчина.
newHeight
int
Новата снимка е на височина.
UpdateMetadata()
Актуализирайте метаданните на изображението.
protected override void UpdateMetadata()