Class JpegImage
Названий на: Aspose.Imaging.FileFormats.Jpeg Асамблея: Aspose.Imaging.dll (25.4.0)
Ефективно маніпулювати зображеннями JPEG raster з нашою 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.Цей конструктор полегшує процес роботи з 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.JPEG з зазначеною шириноюЦей конструктор дозволяє створювати зображення 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, пов’язаний з зображеннями CMYK і YCCK JPEG забезпечує точністьконвертація кольорів і вірність. вона працює в співпраці з RGBColorProfile длягарантує точне представлення кольорів на різних пристроях та додатках.Цей пара є ключовим для збереження консистенції в кольорових рендерах іДосягнення оптимальної якості зображення.
public StreamSource CmykColorProfile { get; set; }
вартість нерухомості
Examples
Наступний приклад заряджає PNG і зберігає його в CMYK JPEG за допомогою персоналізованого профілю ICC. Потім завантажує CMYK JPAG і збереже його назад в П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.ZepgImage приклад з легкістю.Ця нерухомість пропонує цінні деталіщодо конкретних налаштувань, які використовуються, що дозволяє користувачам розуміти і відтворюватизображення обробки робочих потоків ефективно. чи це рівень компресії, якістьналаштування, або інші параметри, ця власність надає необхідні уявлення проБезкоштовна маніпуляція зображенням.
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 JPAG і збереже його назад в П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.xmpDate і Wl17.Exif.IHasexifDato. нуль.
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()