Class JpegImage
A név: Aspose.Imaging.FileFormats.Jpeg Összefoglaló: Aspose.Imaging.dll (25.4.0)
Hatékonyan manipulálja a JPEG raster képeket az API-nkkel, támogatást nyújtvakülönböző színprofilok, mint például RGB és CMYK, személyre szabható bitek pixelenkéntAz EXIF, a JFIF és az XMP metadata tartályok felbontása és feldolgozása.Élvezze az automatizált forgatást az orientációs adatok alapján, és válassza ki a különbözőA tömörítés szintje, beleértve a JPEG-t is, az optimális képminőség elérése érdekébenés fájl mérete egyensúlyt a projektek.
[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
Örökletes tagok
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
Hozzáférés fényképezőgép gyártó jegyzetek a Jpeg kép.
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);
}
}
A példa azt mutatja, hogyan kell feltölteni egy JpegImage egy fájlt.
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(A string)
A Aspose.Imaging.FileFormats.Jpeg.JPEGImage osztály erőteljesen elindul azáltal, hogy aa meghatározott útparaméterrel rendelkező konstruktort.Ez az építő lehetővé teszi, hogy homályosJPEG képek létrehozása, gyors integráció biztosítása a projektekbe könnyedén.
public JpegImage(string path)
Parameters
path
string
Az út, hogy töltse le a képet, és kezdeményezze a pixel és a palettadatok.
Examples
A példa azt mutatja, hogyan kell feltölteni egy JpegImage egy fájlt.
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)
A JPEG kép objektum kezdeményezése a Aspose.Imaging.FileFormats.Jpeg.JPegImage osztály segítségével egyáramparaméter. Ez a konstruktőr egyszerűsíti a JPEG-vel való munkafolyamatotképek, amelyek egyszerű megközelítést kínálnak a projektekbe való integrációhozerőfeszítés nélkül.
public JpegImage(Stream stream)
Parameters
stream
Stream
Az áram, hogy töltse le a képet, és kezdeményezze a pixel és a palettadatok.
Examples
A példa azt mutatja, hogyan kell feltölteni a JpegImage egy fájl áramlásától.
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)
Indítsa el egy új példányt a Aspose.Imaging.FileFormats.Jpeg.JPEGImage osztály egy raster képzelEz a konstruktor kényelmes módja annak, hogy JPEG képeket hozzon létreközvetlenül a raster képekből, a munkafolyamat egyszerűsítése a JPEG képekkel való munkavégzéshezAz Ön alkalmazásaiban.
public JpegImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
A kép, hogy kezdeményezze a pixel és palett adatokat.
Examples
A példa azt mutatja, hogyan kell feltölteni egy JpegImage egy másik RasterImages.
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(Az int, int)
Hozzon létre egy új példányt a Aspose.Imaging.FileFormats.Jpeg.PegImage osztály a meghatározott szélességgelEz az építő lehetővé teszi a JPEG képek létrehozását aszemélyre szabott dimenziók, amelyek rugalmasságot biztosítanak az alkalmazás képméreteinek kezelésében.
public JpegImage(int width, int height)
Parameters
width
int
A kép szélessége.
height
int
A kép magassága.
Examples
Az alábbi példa azt mutatja, hogyan kell létrehozni a JPEG képet a megadott méret.
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");
}
A következő példa feltölt egy BMP képet, és mentse JPEG különböző mentési lehetőségeket.
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 és int)
Kezdeményezzen egy új Aspose.Imaging.FileFormats.Jpeg.DjPegImage objektumot a rendelkezésre álló JPEG opciókkal.Ez az építő lehetővé teszi, hogy a különböző beállításokat a JPEG képhez igazítsa, mint példáula kompressziós szint, a minőség és a kiegészítő paraméterek, pontos ellenőrzés biztosításaaz eredményes képformátum felett.
public JpegImage(JpegOptions jpegOptions, int width, int height)
Parameters
jpegOptions
JpegOptions
A jpeg lehetőségek.
width
int
A kép szélessége.
height
int
kép magassága.
Examples
A következő példa feltölt egy BMP képet, és mentse JPEG különböző mentési lehetőségeket.
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);
}
Az alábbi példa azt mutatja, hogyan kell létrehozni a JPEG képet a megadott méretben a meghatározott paraméterekkel.
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
Visszaállítsa a kép pixel mélységét erőteljesen ezzel a tulajdonsággal, amelyképet a szín vagy a szürke színű képviselet gazdagságáról.élénk fénykép vagy monochrómás illusztráció, ez a tulajdonság létfontosságúinformáció a kép vizuális összetettségéről.
public override int BitsPerPixel { get; }
ingatlan értéke
CmykColorProfile
A CMYK és YCCK JPEG képekkel összefüggő színprofil biztosítja a pontosságotszínes átalakítás és hűség. együttműködik az RGBColorProfilegarantálja a színek pontos képviseletét a különböző eszközökön és alkalmazásokon keresztül.Ez a párosítás elengedhetetlen a színes renderelés következetességének fenntartásához ésAz optimális képminőség elérése.
public StreamSource CmykColorProfile { get; set; }
ingatlan értéke
Examples
A következő példa feltölti a PNG-t és mentse azt a CMYK JPEG-re a személyre szabott ICC-profil használatával. Ezután feltöltötte a CMM-JPG-et, majd mentette vissza a RGB-ra.
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 fájl megjegyzések kezelése ezzel a tulajdonsággal, lehetővé téve, hogy hozzáadja vagy visszavonjaleíró jegyzetek kapcsolódnak a képhez. hogy ez a címkézési képekmetadata vagy a további kontextus megnyitása, ez a tulajdonság rugalmasA JPEG fájlok megszervezése és kategorizálása.
public string Comment { get; set; }
ingatlan értéke
DestinationCmykColorProfile
A CMYK színprofil alapvető fontosságú a precíz színe átalakításához a CMYK és YCCKJPEG képek a mentési folyamat során. együttműködik az RGBColorProfilea színek helyes képviseletének biztosítása, a következetesség és a minőség fenntartásakülönböző eszközök és szoftverek. ez a szinkronizáció elengedhetetlenPontos és megbízható szín renderelés az utolsó mentett képekben.
public StreamSource DestinationCmykColorProfile { get; set; }
ingatlan értéke
DestinationRgbColorProfile
Az RGBColorProfile elengedhetetlen a CMYK és YCCK pontos színátváltásáhozJPEG képek mentési folyamat során. amikor párosított a CMYKColorProfile, azgondoskodik arról, hogy a színek megfelelően ábrázolódjanak, és konzisztenciát tartanak fennkülönböző eszközök és alkalmazások. Ez a kombináció elengedhetetlen aszándékos színes képalkotás és a kiváló minőségű képtermelés elérése.
public StreamSource DestinationRgbColorProfile { get; set; }
ingatlan értéke
ExifData
Az EXIF adatok kezelése ezzel a tulajdonsággal, lehetővé téve a metadata hozzáadását vagy visszavonásátösszefüggésbe hozza a képet. függetlenül attól, hogy a fényképezőgépről származó információtbeállítások vagy a meglévő metadatok módosítása, ez a tulajdonság rugalmasAz EXIF adattartály kezelése.
public JpegExifData ExifData { get; set; }
ingatlan értéke
Examples
Az alábbi példa azt mutatja, hogyan lehet kivonni az EXIF címkéket egy JPEG képből.
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
Visszaállítsa a kép formátumát erőteljesen ezzel a tulajdonsággal.értékes betekintést a fájlformátumban, segít a homályos integrációban ésKompatibilitás ellenőrzése különböző platformokon és alkalmazásokon keresztül.
public override FileFormat FileFormat { get; }
ingatlan értéke
Height
Visszaállítsa a kép magasságát erőteljesen ezzel a tulajdonsággal.a kép függőleges dimenziójához való hozzáférés, lehetővé téve, hogy hatékonyanméretének és aspektus arányának meghatározása a komplex számítások szükségessége nélkül, vagyTovábbi módszerek.
public override int Height { get; }
ingatlan értéke
HorizontalResolution
Ez az ingatlan lehetővé teszi a horizontális felbontáshoz való hozzáférést.Aspose.Imaging.RasterImage, pixelekben mérve percenként.Ezt az értéket pontosan ellenőrizheti a kép felbontását, biztosítva aztMegfelel a sajátos minőségi és világossági követelményeinek.
public override double HorizontalResolution { get; set; }
ingatlan értéke
Examples
Az alábbi példa azt mutatja, hogyan kell beállítani egy JPEG kép horizontális / függőleges felbontását.
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
Alapértelmezés szerint ezt az értéket mindig 96 jelenti, mivel a különböző platformok nem tudják visszaadni a képernyő felbontását.
IgnoreEmbeddedColorProfile
Visszaállítja vagy módosítja a zászlót, jelezve, hogy a beágyazott színprofilfigyelmen kívül hagyva. e zászlót beállítva a felhasználók meghatározzák, hogy az alapértelmezett színprofil kell használni helyett a beágyazott egy. Ez a lehetőség biztosítja a nagyobba színkezelés ellenőrzése, a következetességhez való igazítás megkönnyítése éskompatibilitás a különböző platformokon és alkalmazásokon keresztül.
public bool IgnoreEmbeddedColorProfile { get; set; }
ingatlan értéke
Jfif
Ez a tulajdonság lehetővé teszi, hogy hozzáférjen vagy módosítsa a JFIF (JPEG File Interchange)Format) a JPEG képhez kapcsolódó adatok.JFIF szabványos formátum aJPEG-kompressziós képek cseréje számítógépek és egyéb eszközök között.vagy ez a tulajdonság beállítása, akkor kölcsönhatásba léphet a JFIF adatokkal, amelyek tartalmazhatnakInformációk, mint például a kép felbontása, aspektus arány és miniatűr.
public JFIFData Jfif { get; set; }
ingatlan értéke
JpegOptions
Hozzáférés a JPEG opciókhoz, amelyeket a létrehozás vagy a feltöltés során használtakAspose.Imaging.FileFormats.Jpeg.SzerkesztésEz a tulajdonság értékes részleteket kínála használt konkrét beállításokról, amelyek lehetővé teszik a felhasználók számára, hogy megértsék és másoljákképfeldolgozás munkafolyamatok hatékonyan. függetlenül attól, hogy a tömörítés szintje, a minőségbeállítások, vagy egyéb paraméterek, ez a tulajdonság alapvető betekintést nyújt aA képregény manipulációja.
public JpegOptions JpegOptions { get; }
ingatlan értéke
Examples
Az alábbi példa azt mutatja, hogyan lehet kivonni a címkével kapcsolatos információkat egy JPEG képből.
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
Ez a tulajdonság visszanyeri a kép nyers adatformátumát, amely azt jelzi, hogy aképadatok strukturált és kódolt. megértése a nyers adatok formátuma képadatok hatékony feldolgozásához vagy manipulálásához szükséges.a kép alapvető reprezentációjába való betekintést, például azt, hogykompresszált, kódolt egy adott színtérben, vagy tárolva egy bizonyos fájlbanA tulajdonsághoz való hozzáférés lehetővé teszi, hogy értékes információkat szerezzen aa kép adatstruktúrája, amely lehetővé teszi a különböző műveletek vagy optimalizációk elvégzéséta sajátos formátumához igazítva.
public override PixelDataFormat RawDataFormat { get; }
ingatlan értéke
RgbColorProfile
A CMYK és YCCK JPEG képek RGB színprofilja biztosítja a pontos színtátalakítás és képviselet. meg kell párosítani a CMYKColorProfilekonzisztencia és hűség fenntartása a színes renderelésben. Ez a párosítás elengedhetetlenolyan alkalmazások, amelyek a képek pontos színkezelését és reprodukcióját igénylik,Biztosítani kell, hogy az RGB adatokat megfelelően értelmezzük és megjelenítsük.
public StreamSource RgbColorProfile { get; set; }
ingatlan értéke
Examples
A következő példa feltölti a PNG-t és mentse azt a CMYK JPEG-re a személyre szabott ICC-profil használatával. Ezután feltöltötte a CMM-JPG-et, majd mentette vissza a RGB-ra.
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
Ez a tulajdonság kezeli a függőleges felbontást, amelyet pixelek per palackban fejeznek ki, aa társított Aspose.Imaging.RasterImage. A felbontás módosítása befolyásolja aA kép mérete és minősége, amikor rögzített fizikai méretben nyomtatva vagy megjelenítve.Ezzel a tulajdonsággal ellenőrizheti, hogy mennyire sűrűen vannak csomagolva a kép pixeljei.függőlegesen, ami befolyásolja általános élességét és világosságát.
public override double VerticalResolution { get; set; }
ingatlan értéke
Examples
Az alábbi példa azt mutatja, hogyan kell beállítani egy JPEG kép horizontális / függőleges felbontását.
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
Alapértelmezés szerint ezt az értéket mindig 72 jelenti, mivel a különböző platformok nem tudják visszaadni a képernyő felbontását.
Width
Ez a tulajdonság visszanyeri a kép szélességét, amelyet pixelben fejeznek ki.alapvető információk a kép dimenzióiról, lehetővé téve a pontos renderelést,manipuláció, vagy a képadatok megjelenítése.
public override int Width { get; }
ingatlan értéke
XmpData
Megkapja vagy állítja be az XMP metadatait, lehetővé téve aleírási információk a képfájlba. hogy kivonja a meglévő XMPmetadata vagy frissíti új információkkal, ez a tulajdonság egyszerűsíti akiterjesztett metadatok kezelése, a különböző alkalmazásokkal való kompatibilitás biztosításaés a munkafolyamatok.
public override XmpPacketWrapper XmpData { get; set; }
ingatlan értéke
Methods
AutoRotate()
Automatikusan forgatja a képet az Exifből származó orientációs adatok alapjánEz a módszer biztosítja, hogy a képek a helyes irányba kerüljenek,a felhasználói élmény javítása és a kézi beállítások szükségességének megszüntetése.az exif információ elemzésével a képet ennek megfelelően forgatjuk, és aa különböző platformokon és eszközökön keresztül történő megtekintés tapasztalata. ez az automatizált forgatása folyamat egyszerűsíti a képkezelést és javítja az általános használhatóságot, különösen akkor, haA képek nagy tömegével foglalkozik, különböző orientációkkal.
public void AutoRotate()
Exceptions
A „JpegExifData” „orientációs” értéke a megengedett tartományon kívül van [1…8], így az automatikus forgatás nem alkalmazható.
GetModifyDate(Bóli)
Visszaállítja a dátumot és az időt, amikor az erőforrás képet a legutóbbiEz a módszer értékes metaadatokat biztosít, lehetővé téve a felhasználók számára, hogy nyomon kövessék ésa képfájlra vonatkozó frissítések kezelése hatékonyan. az információkhoz való hozzáférés révén a felhasználókképes biztosítani a kép eszközeinek integritását és pénznemeit, lehetővé téve az információta kép használatával és karbantartásával kapcsolatos döntéshozatal.
public override DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
ha „igaz” beállítva használja a FileInfo-ból származó információt alapértelmezett értésként.
Returns
A dátum és az idő az erőforrás képet utoljára módosították.
ReleaseManagedResources()
Győződjön meg róla, hogy a kezelt erőforrások nem kerülnek kiadásra itt, mivel lehet, hogy már kiadásra kerültek.
protected override void ReleaseManagedResources()
RemoveMetadata()
Távolítsa el ezt a kép példájának metadatait azáltal, hogy beállítja a Aspose.Imaging.Xmp.IHasXMPData.xmpDatát és a Wl17.Exif.IhasexifDati értékeket a Null.
public override void RemoveMetadata()
SaveData(Stream)
Megtakarítja az adatokat.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Az áram, hogy mentse az adatokat.
SetResolution(kettős, kettős)
A kijelölt Aspose.Imaging.RasterImage felbontásának beállítása, apontos mérési és nyomtatási képességek. Ez a módszer lehetővé teszi a felhasználók számára, hogy aa kép felbontása annak érdekében, hogy megfeleljen a sajátos követelményeinek, akár a digitálismegjelenítés vagy fizikai reprodukció. A felbontás beállításával a felhasználók optimalizálhatjákképminőség és a különböző kimeneti eszközökkel és médiumokkal való kompatibilitás biztosítása,A kép általános vizuális élményének és használhatóságának javítása.
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
A horizontális felbontás a Aspose.Imaging.RasterImage pontokban.
dpiY
double
A függőleges felbontás, pontonként, a Aspose.Imaging.RasterImage.
Examples
Az alábbi példa azt mutatja, hogyan kell beállítani egy JPEG kép horizontális / függőleges felbontását.
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(Az int, int)
A kép dimenzióinak frissítése.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Az új kép szélessége.
newHeight
int
Az új kép magassága.
UpdateMetadata()
A kép metadatainak frissítése.
protected override void UpdateMetadata()