Class TiffImage
اسم الفضاء : Aspose.Imaging.FileFormats.Tiff تجميع: Aspose.Imaging.dll (25.4.0)
معالجة العلامة الصورة ملف تنسيق (TIFF) صور الرسوم المتحركة مع API لدينا، وتقديمدعم شامل لمختلف القرارات والقدرات التحريرية المتقدمةمثل التلاعب بالبيانات EXIF والقنوات الألفا.تطبيع الزوايا للصور المسجلة،إعادة التدوير، وتحويلها إلى مقياس رمادي، وتطبيق الفلاتر، وتصحيح غاما، والصورةالتعامل بسهولة مع ملفات TIFF متعددة الإطارات،إنشاء مسارات الرسومات، وإضافة الأشكال، وتخزين الصور بسهولة إلى تنسيقات مختلفة.
[JsonObject(MemberSerialization.OptIn)]
public class TiffImage : RasterCachedMultipageImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IMultipageImageExt, IMultipageImage, IHasExifData, IHasXmpData, IHasMetadata
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage ← RasterCachedImage ← RasterCachedMultipageImage ← TiffImage
Derived
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IMultipageImageExt , IMultipageImage , IHasExifData , IHasXmpData , IHasMetadata
الأعضاء الموروثين
RasterCachedMultipageImage.AdjustBrightness(int) , RasterCachedMultipageImage.AdjustContrast(float) , RasterCachedMultipageImage.AdjustGamma(float, float, float) , RasterCachedMultipageImage.AdjustGamma(float) , RasterCachedMultipageImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedMultipageImage.BinarizeFixed(byte) , RasterCachedMultipageImage.BinarizeBradley(double, int) , RasterCachedMultipageImage.BinarizeBradley(double) , RasterCachedMultipageImage.BinarizeOtsu() , RasterCachedMultipageImage.Crop(Rectangle) , RasterCachedMultipageImage.Crop(int, int, int, int) , RasterCachedMultipageImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedMultipageImage.Grayscale() , RasterCachedMultipageImage.NormalizeHistogram() , RasterCachedMultipageImage.Rotate(float, bool, Color) , RasterCachedMultipageImage.RotateFlip(RotateFlipType) , RasterCachedMultipageImage.RotateFlipAll(RotateFlipType) , RasterCachedMultipageImage.Resize(int, int, ResizeType) , RasterCachedMultipageImage.Resize(int, int, ImageResizeSettings) , RasterCachedMultipageImage.ResizeWidthProportionally(int, ResizeType) , RasterCachedMultipageImage.ResizeHeightProportionally(int, ResizeType) , RasterCachedMultipageImage.ReplaceColor(int, byte, int) , RasterCachedMultipageImage.ReplaceNonTransparentColors(int) , RasterCachedMultipageImage.Filter(Rectangle, FilterOptionsBase) , RasterCachedMultipageImage.NormalizeAngle(bool, Color) , RasterCachedMultipageImage.CacheData() , RasterCachedMultipageImage.ReleaseManagedResources() , RasterCachedMultipageImage.ResizeMain(int, int, ResizeType) , RasterCachedMultipageImage.RotateFlipMain(RotateFlipType) , RasterCachedMultipageImage.CropMain(int, int, int, int) , RasterCachedMultipageImage.SavePixelsInternalMain(Rectangle, int[]) , RasterCachedMultipageImage.CanDoAdjustments() , RasterCachedMultipageImage.GetPagesAsEnumerable() , RasterCachedMultipageImage.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , RasterCachedMultipageImage.Height , RasterCachedMultipageImage.Width , RasterCachedMultipageImage.BitsPerPixel , RasterCachedMultipageImage.IsCached , RasterCachedMultipageImage.PageCount , RasterCachedMultipageImage.Pages , RasterCachedMultipageImage.HasAlpha , RasterCachedMultipageImage.HasTransparentColor , RasterCachedMultipageImage.ImageOpacity , RasterCachedMultipageImage.BackgroundColor , RasterCachedMultipageImage.XmpData , RasterCachedMultipageImage.PageExportingAction , 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.OnCached() , RasterCachedImage.OnPaletteChanged(IColorPalette, IColorPalette) , RasterCachedImage.IsCached , RasterImage.xmpData , 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.ReleaseManagedResources() , RasterImage.UpdateMetadata() , RasterImage.UpdateDimensions(int, int) , 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 , RasterImage.DataLoader , 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.UpdateContainer(Image) , Image.GetCanNotSaveMessage(ImageOptionsBase) , Image.GetFitRectangle(Rectangle) , Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter) , Image.GetFitRectangle(Rectangle, int[]) , Image.OnPaletteChanged(IColorPalette, IColorPalette) , Image.OnPaletteChanging(IColorPalette, IColorPalette) , Image.ReleaseManagedResources() , 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.timeout , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.SaveData(Stream) , DataStreamSupporter.ReleaseManagedResources() , DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.ReleaseManagedResources() , DisposableObject.ReleaseUnmanagedResources() , DisposableObject.VerifyNotDisposed() , DisposableObject.Disposed , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
إنشاء مسار الرسومات من مصادر المسار في صورة TIFF.
using (var image = (TiffImage)Image.Load("Bottle.tif"))
{
// Create the GraphicsPath using PathResources from TIFF image
var graphicsPath = PathResourceConverter.ToGraphicsPath(image.ActiveFrame.PathResources.ToArray(), image.ActiveFrame.Size);
var graphics = new Graphics(image);
// Draw red line and save the image
graphics.DrawPath(new Pen(Color.Red, 10), graphicsPath);
image.Save("BottleWithRedBorder.tif");
}
إنشاء مصادر المسار باستخدام مسار الرسومات.
static void Main(string[] args)
{
using (var image = (TiffImage)Image.Load("Bottle.tif"))
{
// Create rectangular Figure for GraphicsPath
var figure = new Figure();
figure.AddShape(CreateBezierShape(100f, 100f, 500f, 100f, 500f, 1000f, 100f, 1000f));
// Create GraphicsPath using our Figure
var graphicsPath = new GraphicsPath();
graphicsPath.AddFigure(figure);
// Set PathResources using GraphicsPath
var pathResouze = PathResourceConverter.FromGraphicsPath(graphicsPath, image.Size);
image.ActiveFrame.PathResources = new List<pathresource>(pathResouze);
// Save the image
image.Save("BottleWithRectanglePath.tif");
}
}
private static BezierShape CreateBezierShape(params float[] coordinates)
{
var bezierPoints = CoordinatesToBezierPoints(coordinates).ToArray();
return new BezierShape(bezierPoints, true);
}
private static IEnumerable<pointf> CoordinatesToBezierPoints(float[] coordinates)
{
for (var coordinateIndex = 0; coordinateIndex < coordinates.Length; coordinateIndex += 2)
for (var index = 0; index < 3; index++)
yield return new PointF(coordinates[coordinateIndex], coordinates[coordinateIndex + 1]);
}</pointf></pathresource>
Constructors
TiffImage(TiffFrame)
إطلاق كائن جديد من فئة Aspose.Imaging.FileFormats.Tiff.TiffImage، وتحديدهذا البناء يسهل إنشاء TiffImageعلى سبيل المثال، مما يسمح للمطورين بتحديد الإطار الذي سيتم تحميله أو معالجته،تسريع مهام معالجة الصور Tiff داخل تطبيقاتهم.
public TiffImage(TiffFrame frame)
Parameters
frame
TiffFrame
إطار النمط لإطلاق الصورة مع.
Examples
هذا المثال يظهر كيفية إنشاء صورة TIFF من القطع وتخزينها إلى ملف.
string dir = "c:\\temp\\";
Aspose.Imaging.ImageOptions.TiffOptions createOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
// Set 8 bits for each color component.
createOptions.BitsPerSample = new ushort[] { 8, 8, 8 };
// Set the Big Endian byte order (Motorola)
createOptions.ByteOrder = Aspose.Imaging.FileFormats.Tiff.Enums.TiffByteOrder.BigEndian;
// Set the LZW compression.
createOptions.Compression = Aspose.Imaging.FileFormats.Tiff.Enums.TiffCompressions.Lzw;
// Set the RGB color model.
createOptions.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.Rgb;
// All color components will be stored within a single plane.
createOptions.PlanarConfiguration = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPlanarConfigs.Contiguous;
// Create a TIFF Frame of 100x100 px.
// Note that you don't have to dispose a frame explicitly if it is included into TiffImage.
// When the container is disposed all frames will be disposed automatically.
Aspose.Imaging.FileFormats.Tiff.TiffFrame firstFrame = new Aspose.Imaging.FileFormats.Tiff.TiffFrame(createOptions, 100, 100);
// Fill the entire frame with the blue-yellow gradient.
Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(firstFrame.Width, firstFrame.Height),
Aspose.Imaging.Color.Blue,
Aspose.Imaging.Color.Yellow);
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(firstFrame);
graphics.FillRectangle(gradientBrush, firstFrame.Bounds);
// Create a TIFF image.
using (Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = new Aspose.Imaging.FileFormats.Tiff.TiffImage(firstFrame))
{
tiffImage.Save(dir + "output.tif");
}
Exceptions
لا يمكن أن يكون Tiff frame" فارغًا.
TiffImage(TiffFrame[])
إنشاء مثال جديد من فئة Aspose.Imaging.FileFormats.Tiff.TiffImage، وتوفير قائمةالإطارات كمعيار.هذا البناء يسمح بإطلاق TiffImageالكائنات ذات الإطارات المتعددة، مما يسهل التعامل الفعال ومعالجةتسلسل الصور TIFF داخل تطبيقات البرمجيات.
public TiffImage(TiffFrame[] frames)
Parameters
frames
TiffFrame
[ ]
من الإطارات .
Examples
هذا المثال يظهر كيفية إنشاء صورة TIFF مع 2 إطارات وتخزينها إلى ملف.
string dir = "c:\\temp\\";
// Options for the first frame
Aspose.Imaging.ImageOptions.TiffOptions createOptions1 = new Aspose.Imaging.ImageOptions.TiffOptions(Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
// Set 8 bits for each color component.
createOptions1.BitsPerSample = new ushort[] { 8, 8, 8 };
// Set the Big Endian byte order (Motorola)
createOptions1.ByteOrder = Aspose.Imaging.FileFormats.Tiff.Enums.TiffByteOrder.BigEndian;
// Set the LZW compression.
createOptions1.Compression = Aspose.Imaging.FileFormats.Tiff.Enums.TiffCompressions.Lzw;
// Set the RGB color model.
createOptions1.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.Rgb;
// All color components will be stored within a single plane.
createOptions1.PlanarConfiguration = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPlanarConfigs.Contiguous;
// Create the first TIFF frame of 100x100 px.
// Note that you don't have to dispose frames explicitly if they are included into TiffImage.
// When the container is disposed all frames will be disposed automatically.
Aspose.Imaging.FileFormats.Tiff.TiffFrame frame1 = new Aspose.Imaging.FileFormats.Tiff.TiffFrame(createOptions1, 100, 100);
// Fill the first frame with the blue-yellow gradient.
Aspose.Imaging.Brushes.LinearGradientBrush gradientBrush = new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(frame1.Width, frame1.Height),
Aspose.Imaging.Color.Blue,
Aspose.Imaging.Color.Yellow);
Aspose.Imaging.Graphics graphics = new Aspose.Imaging.Graphics(frame1);
graphics.FillRectangle(gradientBrush, frame1.Bounds);
// Options for the first frame
Aspose.Imaging.ImageOptions.TiffOptions createOptions2 = new Aspose.Imaging.ImageOptions.TiffOptions(Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
// Set 1 bit per pixel for a B/W image.
createOptions2.BitsPerSample = new ushort[] { 1 };
// Set the Little Endian byte order (Intel)
createOptions2.ByteOrder = Aspose.Imaging.FileFormats.Tiff.Enums.TiffByteOrder.LittleEndian;
// Set the CCITT Group 3 Fax compression.
createOptions2.Compression = Aspose.Imaging.FileFormats.Tiff.Enums.TiffCompressions.CcittFax3;
// Set the B/W color model where 0 is black, 1 is white.
createOptions2.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.MinIsBlack;
// Create the second TIFF frame of 200x200px.
Aspose.Imaging.FileFormats.Tiff.TiffFrame frame2 = new Aspose.Imaging.FileFormats.Tiff.TiffFrame(createOptions2, 200, 200);
// Fill the second frame with the blue-yellow gradient.
// It will be automatically converted to the B/W format due to the corresponding settings of the frame.
Aspose.Imaging.Graphics graphics2 = new Aspose.Imaging.Graphics(frame2);
graphics2.FillRectangle(gradientBrush, frame2.Bounds);
// Create a TIFF image.
using (Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = new Aspose.Imaging.FileFormats.Tiff.TiffImage(
new Aspose.Imaging.FileFormats.Tiff.TiffFrame[] { frame1, frame2 }))
{
tiffImage.Save(dir + "output.mutliframe.tif");
}
Exceptions
الإطار
Properties
ActiveFrame
إدارة الإطار النشط بسهولة، وتسهيل الملاحة الديناميكية والتلاعب داخل السياق المحدد.تمكين تطبيقك للتفاعلبفعالية مع محتوى الوسائط المتعددة، وتعزيز مشاركة المستخدمين والإنتاجية.
public TiffFrame ActiveFrame { get; set; }
قيمة الممتلكات
Examples
يظهر المثال التالي كيفية تكوين TIFF المختلطة من الصور الفردية.
Aspose.Imaging.ImageOptions.TiffOptions createTiffOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
createTiffOptions.Source = new Aspose.Imaging.Sources.FileCreateSource("c:\\temp\\multipage.tif", false);
createTiffOptions.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.Rgb;
createTiffOptions.BitsPerSample = new ushort[] { 8, 8, 8 };
using (Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Image.Create(createTiffOptions, 100, 100))
{
// This is Font and Brush for drawing text on individual frames.
Aspose.Imaging.Font font = new Aspose.Imaging.Font("Arial", 64);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.White);
// Create 5 frames
for (int i = 1; i <= 5; i++)
{
Aspose.Imaging.ImageOptions.PngOptions createPngOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createPngOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream());
// Create a PNG image and draw the number of page on it.
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)Image.Create(createPngOptions, 100, 100);
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(pngImage);
gr.DrawString(i.ToString(), font, brush, 10, 10);
// Create a frame based on the PNG image.
Aspose.Imaging.FileFormats.Tiff.TiffFrame frame = new Aspose.Imaging.FileFormats.Tiff.TiffFrame(pngImage);
// Add the frame to the TIFF image.
tiffImage.AddFrame(frame);
}
// The image was created with a single default frame. Let's remove it.
Aspose.Imaging.FileFormats.Tiff.TiffFrame activeFrame = tiffImage.ActiveFrame;
tiffImage.ActiveFrame = tiffImage.Frames[1];
tiffImage.RemoveFrame(0);
// Don't forget to dispose the frame if you won't add it to some other TiffImage
activeFrame.Dispose();
tiffImage.Save();
}
ByteOrder
قم بتوحيد أوامر بايت لملفات TIFF بسهولة لضمان التحكم الدقيق فيتفسير البيانات.تمكين التطبيقات الخاصة بك مع المرونة للتكيف معمجموعة متنوعة من مواصفات الملفات، وتعزيز التوافق والكفاءة في معالجة البيانات.
public TiffByteOrder ByteOrder { get; set; }
قيمة الممتلكات
ExifData
الوصول أو تعديل بيانات EXIF المرتبطة بالإطار النشط بسهولة، مما يتيحالتحكم الدقيق في بيانات الصورة.تحسين قدرات تطبيقك عن طريقإدماج هذه الميزة، وضمان الحفاظ الدقيق وتخصيصمعلومات الصورة الأساسية.
public ExifData ExifData { get; set; }
قيمة الممتلكات
FileFormat
استرداد قيمة تنسيق الملفات المرتبطة بالصورة.هذا الممتلكات يخدم كالجانب الرئيسي من استرداد البيانات الصورة ، مما يتيح تطبيقات البرمجياتتحديد وتفسير تنسيق بيانات الصورة بفعالية.
public override FileFormat FileFormat { get; }
قيمة الممتلكات
Frames
احصل على مجموعة من الحالات Aspose.Imaging.FileFormats.Tiff.TiffFrame ، مما يتيحالوصول والتلاعب بالإطارات الفردية داخل صورة TIFF.قوة هذا الشريط لتسريع تدفقات عمل معالجة الصور، وضمان دقةالتحكم في المحتوى البصري وتحسينه.
public TiffFrame[] Frames { get; }
قيمة الممتلكات
TiffFrame [ ]
Examples
يظهر المثال التالي كيفية تكوين TIFF المختلطة من الصور الفردية.
Aspose.Imaging.ImageOptions.TiffOptions createTiffOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
createTiffOptions.Source = new Aspose.Imaging.Sources.FileCreateSource("c:\\temp\\multipage.tif", false);
createTiffOptions.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.Rgb;
createTiffOptions.BitsPerSample = new ushort[] { 8, 8, 8 };
using (Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Image.Create(createTiffOptions, 100, 100))
{
// This is Font and Brush for drawing text on individual frames.
Aspose.Imaging.Font font = new Aspose.Imaging.Font("Arial", 64);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.White);
// Create 5 frames
for (int i = 1; i <= 5; i++)
{
Aspose.Imaging.ImageOptions.PngOptions createPngOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createPngOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream());
// Create a PNG image and draw the number of page on it.
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)Image.Create(createPngOptions, 100, 100);
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(pngImage);
gr.DrawString(i.ToString(), font, brush, 10, 10);
// Create a frame based on the PNG image.
Aspose.Imaging.FileFormats.Tiff.TiffFrame frame = new Aspose.Imaging.FileFormats.Tiff.TiffFrame(pngImage);
// Add the frame to the TIFF image.
tiffImage.AddFrame(frame);
}
// The image was created with a single default frame. Let's remove it.
Aspose.Imaging.FileFormats.Tiff.TiffFrame activeFrame = tiffImage.ActiveFrame;
tiffImage.ActiveFrame = tiffImage.Frames[1];
tiffImage.RemoveFrame(0);
// Don't forget to dispose the frame if you won't add it to some other TiffImage
activeFrame.Dispose();
tiffImage.Save();
}
HasAlpha
تحديد ما إذا كانت الصورة لديها قناة ألفا، وتوفير معلومات حاسمةلعمليات التصوير والتركيب.دمج هذه الميزة لتحسينتدفقات العمل المعالجة البصرية، وضمان التمثيل الدقيق والتلاعبعناصر شفافة
public override bool HasAlpha { get; }
قيمة الممتلكات
Examples
يحتوي المثال التالي على صورة TIFF ويطبع معلومات عن تنسيق البيانات الخام وقناة ألفا.
string dir = "c:\\temp\\";
string fileName = dir + "sample.tif";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(fileName))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// If the active TIFF frame has alpha channel, then the entire TIFF image is considered to have alpha channel.
System.Console.WriteLine("ImageFile={0}, FileFormat={1}, HasAlpha={2}", fileName, tiffImage.RawDataFormat, tiffImage.HasAlpha);
int i = 0;
foreach (Aspose.Imaging.FileFormats.Tiff.TiffFrame frame in tiffImage.Frames)
{
System.Console.WriteLine("Frame={0}, FileFormat={1}, HasAlpha={2}", ++i, frame.RawDataFormat, frame.HasAlpha);
}
}
// The output may look like this:
// ImageFile=c:\temp\sample.tif, FileFormat=RgbIndexed1Bpp, used channels: 1, HasAlpha=False
// Frame=1, FileFormat=RgbIndexed1Bpp, used channels: 1, HasAlpha=False
// Frame=2, FileFormat=RgbIndexed1Bpp, used channels: 1, HasAlpha=False
HorizontalResolution
استرداد القرار الأفقي لـ Aspose.Imaging.Image المحدد في بكسللكل بوصة، مما يسهل التعديل الدقيق والقدرات.بيانات الصورة الأساسية بسهولة ، مما يتيح معالجة الصورة السريعةتدفقات العمل لتحسين تجربة المستخدم.
public override double HorizontalResolution { get; set; }
قيمة الممتلكات
Examples
يظهر المثال التالي كيفية تعيين الدقة الأفقية / العمودية لصورة TIFF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Get horizontal and vertical resolution of the TiffImage.
double horizontalResolution = tiffImage.HorizontalResolution;
double verticalResolution = tiffImage.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");
tiffImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", tiffImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", tiffImage.VerticalResolution);
}
}
Remarks
ملاحظة الافتراضية هذه القيمة هي دائما 96 لأن المنصات المختلفة لا يمكن إرجاع دقة الشاشة.يمكنك التفكير في استخدام طريقة SetResolution لتحديث كل من قيم الدقة في مكالمة واحدة.
PageCount
استرداد العدد الإجمالي للصفحات داخل الوثيقة المحددة، وتسهيلالملاحة الفعالة وإدارة محتوى متعدد الصفحات.إدراج هذاوظائف لتعزيز تجربة المستخدم، مما يتيح الوصول إلىالهياكل الوثائقية الشاملة.
public override int PageCount { get; }
قيمة الممتلكات
Pages
الوصول إلى صفحات الوثيقة بسهولة، مما يتيح الملاحة الديناميكية والتلاعب داخل بنية المحتوى.تمكين تطبيقك بفعاليةالوصول إلى الصفحات الفردية، وتسهيل معالجة مستندات متسارعة وتعزيز تفاعل المستخدم.
public override Image[] Pages { get; }
قيمة الممتلكات
Image [ ]
PremultiplyComponents
إشارة إلى ما إذا كانت المكونات بحاجة إلى التعديل المسبق، وضمان التعامل الفعالمن العناصر البصرية.تحسين العمليات التصويرية عن طريق إزالة هذه الممتلكات،تسريع تدفقات العمل الجرافيكية لتحسين الأداء.
public override bool PremultiplyComponents { get; set; }
قيمة الممتلكات
Examples
يخلق المثال التالي صورة جديدة من TIFF ، ويحفظ البكسل النصفية المحددة ، ثم يحمل تلك البكسل ويحصل على الألوان النهائية في الشكل المكرر.
int imageWidth = 3;
int imageHeight = 2;
Aspose.Imaging.Color[] colors = new Aspose.Imaging.Color[]
{
Aspose.Imaging.Color.FromArgb(127, 255, 0, 0),
Aspose.Imaging.Color.FromArgb(127, 0, 255, 0),
Aspose.Imaging.Color.FromArgb(127, 0, 0, 255),
Aspose.Imaging.Color.FromArgb(127, 255, 255, 0),
Aspose.Imaging.Color.FromArgb(127, 255, 0, 255),
Aspose.Imaging.Color.FromArgb(127, 0, 255, 255),
};
Aspose.Imaging.ImageOptions.TiffOptions createOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.TiffDeflateRgba);
createOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream(), true);
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Create(createOptions, imageWidth, imageHeight))
{
// Save pixels for the whole image.
image.SavePixels(image.Bounds, colors);
// The pixels are stored in the original image in the non-premultiplied form.
// Need to specify the corresponding option explicitly to obtain premultiplied color components.
// The premultiplied color components are calculated by the formulas:
// red = original_red * alpha / 255;
// green = original_green * alpha / 255;
// blue = original_blue * alpha / 255;
image.PremultiplyComponents = true;
Aspose.Imaging.Color[] premultipliedColors = image.LoadPixels(image.Bounds);
for (int i = 0; i < colors.Length; i++)
{
System.Console.WriteLine("Original color: {0}", colors[i].ToString());
System.Console.WriteLine("Premultiplied color: {0}", premultipliedColors[i].ToString());
}
}
//The output will look like this:
//Original color: Color [A=127, R=255, G=0, B=0]
//Premultiplied color: Color [A=127, R=127, G=0, B=0]
//Original color: Color [A=127, R=0, G=255, B=0]
//Premultiplied color: Color [A=127, R=0, G=127, B=0]
//Original color: Color [A=127, R=0, G=0, B=255]
//Premultiplied color: Color [A=127, R=0, G=0, B=127]
//Original color: Color [A=127, R=255, G=255, B=0]
//Premultiplied color: Color [A=127, R=127, G=127, B=0]
//Original color: Color [A=127, R=255, G=0, B=255]
//Premultiplied color: Color [A=127, R=127, G=0, B=127]
//Original color: Color [A=127, R=0, G=255, B=255]
//Premultiplied color: Color [A=127, R=0, G=127, B=127]
VerticalResolution
الوصول إلى القرار الرأسي لـ Aspose.Imaging.Image المحدد في بكسل لكلبوصة، مما يتيح التعديلات الدقيقة وتحسينات العرض.بيانات الصورة بسهولة لتسريع تدفقات عمل معالجة الصورة، وضمانأفضل الجودة والأداء في التطبيقات الخاصة بك.
public override double VerticalResolution { get; set; }
قيمة الممتلكات
Examples
يظهر المثال التالي كيفية تعيين الدقة الأفقية / العمودية لصورة TIFF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Get horizontal and vertical resolution of the TiffImage.
double horizontalResolution = tiffImage.HorizontalResolution;
double verticalResolution = tiffImage.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");
tiffImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", tiffImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", tiffImage.VerticalResolution);
}
}
Remarks
ملاحظة الافتراضية هذه القيمة هي دائما 96 لأن المنصات المختلفة لا يمكن إرجاع دقة الشاشة.يمكنك التفكير في استخدام طريقة SetResolution لتحديث كل من قيم الدقة في مكالمة واحدة.
Methods
Add(TiffImage)
إضافة الإطارات من الصورة المحددة بسهولة إلى الإطارات الحالية ،تعزيز محتوىها وتعزيز مرونة التركيب.هذه الطريقة لتسريع إدارة الإطار والتلاعب داخلالتطبيق، مما يسهل التعامل الفعال مع الصور متعددة الإطارات.
public void Add(TiffImage image)
Parameters
image
TiffImage
صورة المصدر .
AddFrame(TiffFrame)
إدراج الإطار المحدد بسهولة في الصورة، وتوسيع محتواهاستخدام هذه الطريقة لتعزيز تكوين الصورة وإدارةها،تمكين المعالجة الفعالة للصور متعددة الإطارات داخل تطبيقك.
public void AddFrame(TiffFrame frame)
Parameters
frame
TiffFrame
إطار إضافي .
Examples
يظهر المثال التالي كيفية تكوين TIFF المختلطة من الصور الفردية.
Aspose.Imaging.ImageOptions.TiffOptions createTiffOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
createTiffOptions.Source = new Aspose.Imaging.Sources.FileCreateSource("c:\\temp\\multipage.tif", false);
createTiffOptions.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.Rgb;
createTiffOptions.BitsPerSample = new ushort[] { 8, 8, 8 };
using (Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Image.Create(createTiffOptions, 100, 100))
{
// This is Font and Brush for drawing text on individual frames.
Aspose.Imaging.Font font = new Aspose.Imaging.Font("Arial", 64);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.White);
// Create 5 frames
for (int i = 1; i <= 5; i++)
{
Aspose.Imaging.ImageOptions.PngOptions createPngOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createPngOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream());
// Create a PNG image and draw the number of page on it.
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)Image.Create(createPngOptions, 100, 100);
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(pngImage);
gr.DrawString(i.ToString(), font, brush, 10, 10);
// Create a frame based on the PNG image.
Aspose.Imaging.FileFormats.Tiff.TiffFrame frame = new Aspose.Imaging.FileFormats.Tiff.TiffFrame(pngImage);
// Add the frame to the TIFF image.
tiffImage.AddFrame(frame);
}
// The image was created with a single default frame. Let's remove it.
Aspose.Imaging.FileFormats.Tiff.TiffFrame activeFrame = tiffImage.ActiveFrame;
tiffImage.ActiveFrame = tiffImage.Frames[1];
tiffImage.RemoveFrame(0);
// Don't forget to dispose the frame if you won't add it to some other TiffImage
activeFrame.Dispose();
tiffImage.Save();
}
AddFrames(TiffFrame[])
إدماج سلسلة الإطارات في الصورة بسهولة، وإثراء محتوياتها واستخدام هذه الطريقة لتعزيز تكوين الصورة وإدارة،تمكين المعالجة الفعالة للصور متعددة الإطارات داخل تطبيقك.
public void AddFrames(TiffFrame[] frames)
Parameters
frames
TiffFrame
[ ]
الأقواس يضيف إلى
AddPage(RasterImage)
إدراج صفحة جديدة في الصورة الحالية بسهولة، وتوسيع محتوىهاوالمتنوع.استخدم هذه الطريقة لتحسين تركيبة المستندات وإدارة، مما يتيح المعالجة الفعالة للصور متعددة الصفحات داخل تطبيقك.
public virtual void AddPage(RasterImage page)
Parameters
page
RasterImage
الصفحة التي أضيفها
Exceptions
page’ is null.
AdjustBrightness(إنت)
تنفيذ تعديل brightness" للصورة، مما يسمح بتعديل مستويات الإضاءة الإجمالية.إدراج هذه الطريقة في تدفق عمل معالجة الصور الخاص بك لتحسين الرؤية وتحسين جودة الصور البصرية داخل تطبيقك.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
قيمة الضوء
Examples
في المثال التالي ، يتم إجراء تصحيح الضوء لصورة TIFF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Set the brightness value. The accepted values of brightness are in the range [-255, 255].
tiffImage.AdjustBrightness(50);
tiffImage.Save(dir + "sample.AdjustBrightness.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustContrast(السفينة)
تحسين تناقض Aspose.Imaging.Image المثال،تعزيز الاختلافات بين المناطق الضوئية والمظلمة.وظائف لتحسين الوضوح البصري والجودة العامة للصورةداخل طلبك.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
قيمة التباين (في نطاق [-100؛ 100])
Examples
في المثال التالي ، يتم إجراء تصحيح تناقض لصورة TIFF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Set the contrast value. The accepted values of contrast are in the range [-100f, 100f].
tiffImage.AdjustContrast(50f);
tiffImage.Save(dir + "sample.AdjustContrast.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustGamma(السفينة)
تطبيق تصحيح غاما على الصورة، وتعديل كثافة البكسل لتحقيقتوازن الألوان المطلوب.إدراج هذه الطريقة في معالجة الصورة الخاصة بكتدفق العمل لتحسين الجودة البصرية وتحسين دقة ما يليتحليل أو عرض المهام داخل تطبيقك.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
غاما لعدد القنوات الحمراء والخضراء
Examples
في المثال التالي ، يتم إجراء تصحيح غاما للصورة TIFF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Set gamma coefficient for red, green and blue channels.
tiffImage.AdjustGamma(2.5f);
tiffImage.Save(dir + "sample.AdjustGamma.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustGamma(السفينة، السفينة، السفينة)
إجراء تصحيح غاما على الصورة باستخدام المعايير الفردية للأحمر ،القنوات الخضراء والأزرق ، مما يسمح بتعديلات توازن الألوانإدراج هذه الطريقة في خط أنابيب معالجة الصور الخاص بكتحقق التحكم الدقيق في عرض الألوان وتعزيز الولاء البصري داخلالتطبيق الخاص بك
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
القناة الحمراء معدل القناة الحمراء
gammaGreen
float
غاما لـ قناة خضراء
gammaBlue
float
القناة الزرقاء معدل القناة الزرقاء
Examples
يقدم المثال التالي تصحيح غاما للصورة TIFF التي تطبق مؤشرات مختلفة على مكونات الألوان.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Set individual gamma coefficients for red, green and blue channels.
tiffImage.AdjustGamma(1.5f, 2.5f, 3.5f);
tiffImage.Save(dir + "sample.AdjustGamma.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AlignResolutions()
تطبيق طريقة AlignResolutions المساعدة لمزامنة الأفقية والتصحيحات العمودية، وضمان التوحيد في أبعاد الصورة.تسهيل تدفقات عمل معالجة الصور من خلال تنسيق القرارالمعايير، وتحسين الجودة البصرية والاتساق على مختلف المنصات والأجهزة .
public void AlignResolutions()
BinarizeBradley(المزدوج، إنت)
تنفيذ التباين على الصورة باستخدام الحد الأقصى التكيفية لـ Bradleyالخوارزميات مع الحد الأقصى للصورة المتكاملة.هذا النهج يحسب ديناميكيةالحدود المحلية القائمة على حي الصورة، وتعزيز التكيف معتختلف ظروف الإضاءة وتضمن تقسيمًا قويًا في وقت لاحقمعالجة المهام داخل طلبك.
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
الفرق في الضوء بين بكسل ومتوسط نافذة بكسل s x sتركز حول هذا البكسل.
windowSize
int
حجم نافذة x s من البكسلات التي تركز حول هذا البكسل
Examples
ويجمع المثال التالي صورة TIFF مع الخوارزميات التكيفية لـ Bradley مع حجم النافذة المحدد.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Binarize the image with a brightness difference of 5. The brightness is a difference between a pixel and the average of an 10 x 10 window of pixels centered around this pixel.
tiffImage.BinarizeBradley(5, 10);
tiffImage.Save(dir + "sample.BinarizeBradley5_10x10.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
BinarizeFixed(بيوت)
تطبيق التوازن على الصورة باستخدام الحد الأقصى المحدد مسبقا، وتحويلها إلىصورة ثنائية مع مناطق أمامية وخلفية منفصلة.طريقة في تدفق عمل معالجة الصورة الخاص بك لتسهيل تقسيم وميزاتمهام الاستخراج، وتعزيز دقة وكفاءة تحليل الصورة داخلالتطبيق الخاص بك
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
إذا كانت القيمة الرمادية المقابلة للبكسل أكبر من الحد الأقصى، فإن قيمة255 سيتم تخصيصها ، 0 خلاف ذلك.
Examples
على سبيل المثال التالي يدوين صورة TIFF مع الحد المحدد مسبقًا.الصور المدوية تحتوي على 2 ألوان فقط - الأسود والأبيض.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Binarize the image with a threshold value of 127.
// If a corresponding gray value of a pixel is greater than 127, a value of 255 will be assigned to it, 0 otherwise.
tiffImage.BinarizeFixed(127);
tiffImage.Save(dir + "sample.BinarizeFixed.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
BinarizeOtsu()
استخدم الحد الأقصى لإنجاز التدوين على الصورة تلقائيًاتحديد قيمة الحد الأقصى الأمثل استنادًا إلى هيستوغرام الصورة.هذه الطريقة في تدفق عمل معالجة الصور الخاص بك لتحقيق تقسيم فعالواستخراج الميزات، وتعزيز دقة وموثوقية تحليل الصورةالمهام داخل طلبك.
public override void BinarizeOtsu()
Examples
على سبيل المثال التالي ثنائي صورة TIFF مع أطراف Otsu. الصور الثنائية تحتوي على 2 ألوان فقط - الأسود والأبيض.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Binarize the image with Otsu thresholding.
tiffImage.BinarizeOtsu();
tiffImage.Save(dir + "sample.BinarizeOtsu.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Crop(Rectangle)
زراعة الصورة باستخدام منطقة مستقيمة محددة، مما يسمح باختيار دقيق منإدراج هذه الطريقة في تدفق عمل معالجة الصور الخاص بك إلىإزالة المناطق غير المرغوب فيها بشكل فعال والتركيز على التفاصيل الأساسية، وتعزيزالوضوح العام وتكوين الصورة.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
من المستطيل .
Examples
يتم تحديد منطقة الحصاد من خلال Aspose.Imaging.Rectangle.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Crop the image. The cropping area is the rectangular central area of the image.
Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(tiffImage.Width / 4, tiffImage.Height / 4, tiffImage.Width / 2, tiffImage.Height / 2);
tiffImage.Crop(area);
// Save the cropped image to PNG
tiffImage.Save(dir + "sample.Crop.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Crop(إنت، إنت، إنت، إنت)
أداء الحصاد على الصورة عن طريق تحديد التحولات في اليسار، اليمين، أعلى، وهذه الطريقة تسمح باختيار دقيق للجزء المطلوب منصورة، مما يسهل التخلص الفعال من المناطق غير المرغوب فيها والتركيز علىإدراج هذا الوظيفة في معالجة الصورة الخاصة بكخط أنابيب لتعزيز الوضوح والتكوين كما هو مطلوب داخل تطبيقك.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
يتغير اليسار .
rightShift
int
التغيير الصحيح
topShift
int
التغيير العلوي
bottomShift
int
التغيير السفلي .
Examples
على سبيل المثال التالي يزرع صورة TIFF. يتم تحديد منطقة الزراعة عن طريق اليسار، أعلى، اليمين، أسفل.
string dir = @"c:\temp\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Crop again. Set a margin of 10% of the image size.
int horizontalMargin = tiffImage.Width / 10;
int verticalMargin = tiffImage.Height / 10;
tiffImage.Crop(horizontalMargin, horizontalMargin, verticalMargin, verticalMargin);
// Save the cropped image to PNG.
tiffImage.Save(dir + "sample.Crop.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Dither(DitheringMethod، int، IColorPalette)
تنفيذه على الصورة الحالية من أجل تحسين جودة البصر والحد منالألوان الارتباط المواد.دمج هذه الطريقة في تدفق عمل معالجة الصورة الخاص بكلضمان المزيد من الانتقالات بين الألوان، مما يؤدي إلى تحسين الصورة العامةالظهور والتوضيح
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
الطريقة المضغوطة .
bitsCount
int
النقاط النهائية تحسب لالتقاط.
customPalette
IColorPalette
أضف تعليق لـ DITERING.
Examples
يحتوي المثال التالي على صورة TIFF ويقوم بتحريك الحد الأقصى والتدفق باستخدام عمق مختلف في اللوحة.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Perform threshold dithering using 4-bit color palette which contains 16 colors.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
tiffImage.Dither(Aspose.Imaging.DitheringMethod.ThresholdDithering, 4, null);
tiffImage.Save(dir + "sample.ThresholdDithering4.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Perform floyd dithering using 1-bit color palette which contains only 2 colors - black and white.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
tiffImage.Dither(Aspose.Imaging.DitheringMethod.FloydSteinbergDithering, 1, null);
tiffImage.Save(dir + "sample.FloydSteinbergDithering1.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Filter(الخيارات الثنائية، FilterOptionsBase)
تصفية المحتوى داخل المستطيل المحدد، وتطبيق الصورة المحددةتصفية المعالجة لتعزيز أو تعديل المنطقة المختارة.في تدفق عمل التحكم في الصورة الخاص بك لتحقيق التحسينات المستهدفة أوتحويلات داخل تطبيقك.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
من المستطيل .
options
FilterOptionsBase
الخيارات .
Examples
تنطبق المثال التالي على أنواع مختلفة من الفلاتر على صورة TIFF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Apply a median filter with a rectangle size of 5 to the entire image.
tiffImage.Filter(tiffImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MedianFilterOptions(5));
tiffImage.Save(dir + "sample.MedianFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Apply a bilateral smoothing filter with a kernel size of 5 to the entire image.
tiffImage.Filter(tiffImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.BilateralSmoothingFilterOptions(5));
tiffImage.Save(dir + "sample.BilateralSmoothingFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Apply a Gaussian blur filter with a radius of 5 and a sigma value of 4.0 to the entire image.
tiffImage.Filter(tiffImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussianBlurFilterOptions(5, 4.0));
tiffImage.Save(dir + "sample.GaussianBlurFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Apply a Gauss-Wiener filter with a radius of 5 and a smooth value of 4.0 to the entire image.
tiffImage.Filter(tiffImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussWienerFilterOptions(5, 4.0));
tiffImage.Save(dir + "sample.GaussWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Apply a motion wiener filter with a length of 5, a smooth value of 4.0 and an angle of 90.0 degrees to the entire image.
tiffImage.Filter(tiffImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MotionWienerFilterOptions(10, 1.0, 90.0));
tiffImage.Save(dir + "sample.MotionWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Apply a sharpen filter with a kernel size of 5 and a sigma value of 4.0 to the entire image.
tiffImage.Filter(tiffImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.SharpenFilterOptions(5, 4.0));
tiffImage.Save(dir + "sample.SharpenFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
GetOriginalOptions()
استرداد الخيارات المستمدة من إعدادات الملفات الأصلية، مما يسهل اللامبالاةالحفاظ على المعلمات الرئيسية مثل عمق البيت وغيرها من الخصائص الأساسيةاستخدم هذه الطريقة للحفاظ على الولاء والاتساق فيوظائف معالجة الصور، وضمان نتائج مثالية دون تغيير غير ضروري.على سبيل المثال ، إذا قمنا بتحميل صورة PNG باللون الأسود والأبيض بـ 1 بت لكل بكسل ثم قمنا بتخزينها باستخدامطريقة Aspose.Imaging.DataStreamSupporter.Save(System.String) ، سيتم إنتاج صورة PNG الناتجة مع 8 بت لكل بكسل.لتجنب ذلك وتخزين صورة PNG مع 1 بت لكل بكسل ، استخدم هذه الطريقة للحصول على خيارات التخزين المقابلة وتجاوزهاإلى طريقة Aspose.Imaging.Image.Save(System.String،Aspose.Imaging.ImageOptionsBase) كمعيار ثانٍ.
public override ImageOptionsBase GetOriginalOptions()
Returns
الخيارات القائمة على إعدادات الملف الأصلي.
Exceptions
لا توجد خيارات أصلية يمكن استخراجها من الصورة
Grayscale()
تحويل الصورة إلى تمثيلها الرمادي ، وتحويلها إلىصورة قناة واحدة حيث يمثل كل بكسل كثافة.في خط أنابيب معالجة الصور الخاص بك لتبسيط التحليل وتحسينالتوافق مع الخوارزميات القائمة على مقياس ، مما يسهل مختلف أجهزة الكمبيوتروظائف تحليل الرؤية والصور داخل تطبيقك.
public override void Grayscale()
Examples
يتحول المثال التالي صورة TIFF الملونة إلى تمثيلها الرمادي.تتكون صور Grayscale حصريًا من الظلال الرمادية وتحمل فقط معلومات الكثافة.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
tiffImage.Grayscale();
tiffImage.Save(dir + "sample.Grayscale.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
InsertFrame(إنت، TiffFrame)
إدخال الإطار الجديد في المؤشر المحدد داخل سلسلة الإطار، لضمانالتحكم الدقيق في ترتيب الإطار.استخدم هذه الطريقة لإدارة الإطارتتبع بشكل فعال ، مما يسهل التلاعب الديناميكي وتنظيم الصورةالمحتوى داخل طلبك.
public void InsertFrame(int index, TiffFrame frameToInsert)
Parameters
index
int
مؤشر الإطار الجديد في قائمة الإطارات
frameToInsert
TiffFrame
إطار لإدخال.
NormalizeAngle(البول، اللون)
استخدم طريقة NormalizeAngle مصممة خصيصًا للوثائق النصية المسجلةلتصحيح الماسح الضوئي، وضمان التوافق الدقيق.إدماج هذه الوظائف في تدفقات عمل معالجة النص الخاص بك لتحسينقراءة الوثيقة والجودة، وتحسين الكفاءة العامة في التعرف على النصومهام التحليل .هذه الطريقة تستخدم أساليب Aspose.Imaging.RasterImage.GetSkewAngle و Aspose.Imaging.FileFormats.Tiff.TiffImage.Rotate(System.Single،System.Boolean،Aspose.Imaging.Color).
public override void NormalizeAngle(bool resizeProportionally, Color backgroundColor)
Parameters
resizeProportionally
bool
إذا قمت بتعيين “الحقيقي” ستكون حجم الصورة الخاص بك قد تغيرت وفقًا للتوقعات المستطيلة (نقاط الزاوية) في حالة أخرى تترك الأبعاد غير ملموسة ويتم توجيه محتوى الصورة الداخلي فقط.
backgroundColor
Color
لون الخلفية
ReleaseManagedResources()
تأكد من عدم إطلاق الموارد غير المعالجة هنا، لأنها قد تكون قد تم إطلاقها بالفعل.
protected override void ReleaseManagedResources()
RemoveFrame(إنت)
القضاء بسهولة على الإطار الذي يحدده المؤشر من تسلسل الصورة ،تعزيز الإدارة الإطارية داخل تطبيقك.دمج هذاوظائف لتعزيز الكفاءة والدقة في التلاعب الإطار،تسهيل التنظيم المستمر وعرض محتوى الصورة.
public TiffFrame RemoveFrame(int index)
Parameters
index
int
يتم إزالة مؤشر الإطار.
Returns
الإطار الذي تم إزالته
Examples
يظهر المثال التالي كيفية تكوين TIFF المختلطة من الصور الفردية.
Aspose.Imaging.ImageOptions.TiffOptions createTiffOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
createTiffOptions.Source = new Aspose.Imaging.Sources.FileCreateSource("c:\\temp\\multipage.tif", false);
createTiffOptions.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.Rgb;
createTiffOptions.BitsPerSample = new ushort[] { 8, 8, 8 };
using (Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Image.Create(createTiffOptions, 100, 100))
{
// This is Font and Brush for drawing text on individual frames.
Aspose.Imaging.Font font = new Aspose.Imaging.Font("Arial", 64);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.White);
// Create 5 frames
for (int i = 1; i <= 5; i++)
{
Aspose.Imaging.ImageOptions.PngOptions createPngOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createPngOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream());
// Create a PNG image and draw the number of page on it.
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)Image.Create(createPngOptions, 100, 100);
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(pngImage);
gr.DrawString(i.ToString(), font, brush, 10, 10);
// Create a frame based on the PNG image.
Aspose.Imaging.FileFormats.Tiff.TiffFrame frame = new Aspose.Imaging.FileFormats.Tiff.TiffFrame(pngImage);
// Add the frame to the TIFF image.
tiffImage.AddFrame(frame);
}
// The image was created with a single default frame. Let's remove it.
Aspose.Imaging.FileFormats.Tiff.TiffFrame activeFrame = tiffImage.ActiveFrame;
tiffImage.ActiveFrame = tiffImage.Frames[1];
tiffImage.RemoveFrame(0);
// Don't forget to dispose the frame if you won't add it to some other TiffImage
activeFrame.Dispose();
tiffImage.Save();
}
Remarks
ملاحظة: لا تنسى وضع الإطار إذا لم تضيفه إلى بعض TiffImage الأخرى.
RemoveFrame(TiffFrame)
إزالة الإطار المحدد بفعالية من سلسلة الصورة ، مما يسهلإدارة الإطار السريع داخل تطبيقك.دمج هذه الوظائفتعزيز الدقة والمرونة في التلاعب بالإطار، وضمان اللامبالاةتنظيم وتقديم محتوى الصورة.
public void RemoveFrame(TiffFrame frame)
Parameters
frame
TiffFrame
إطار لإزالتها.
Remarks
ملاحظة: لا تنسى وضع الإطار إذا لم تضيفه إلى بعض TiffImage الأخرى.
RemoveMetadata()
إزالة هذه البيانات الميتا من حالة الصورة عن طريق إعداد هذه Aspose.Imaging.Xmp.IHasXMPData.xmpDate و VL16 .Exif.IhasExIFDat.ExivDati قيم إلى صفر.
public override void RemoveMetadata()
ReplaceFrame(إنت، TiffFrame)
استبدال الإطار في الموقف المحدد باستخدام إطار آخر بسهولة،تسهل إدارة الإطار الديناميكي داخل سلسلة الصورة.طريقة لتعزيز المرونة والدقة في التشغيل الإطار، وضمانالتنظيم الأمثل وعرض محتوى الصورة داخل تطبيقك.
public TiffFrame ReplaceFrame(int index, TiffFrame frameToReplace)
Parameters
index
int
موقع الإطار القائم على الصفر.
frameToReplace
TiffFrame
إطار استبدال.
Returns
الإطار الذي تم إزالته
Remarks
ملاحظة: لا تنسى وضع الإطار إذا لم تضيفه إلى بعض TiffImage الأخرى.
Resize(int، int، resizeType)
إعادة تدوير الصورة وفقًا لنوع إعادة تدوير محدد ، مما يتيح المرونةتعديل أبعاد الصورة مع الحفاظ على نسبة الجانب أو تطبيق محددإدراج هذه الطريقة في تدفق عمل معالجة الصور الخاص بكلتحقيق التحكم الدقيق في عمليات إعادة التدوير داخل طلبك.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
العرض الجديد .
newHeight
int
الارتفاع الجديد
resizeType
ResizeType
هذا النوع من التراجع.
Examples
هذا المثال يحمل صورة TIFF ويعيدها باستخدام أساليب إعادة التدوير المختلفة.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
// Scale up by 2 times using Nearest Neighbour resampling.
image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
// Save to PNG with default options.
image.Save(dir + "upsample.nearestneighbour.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
// Scale down by 2 times using Nearest Neighbour resampling.
image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
// Save to PNG with default options.
image.Save(dir + "downsample.nearestneighbour.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
// Scale up by 2 times using Bilinear resampling.
image.Resize(image.Width* 2, image.Height* 2, Aspose.Imaging.ResizeType.BilinearResample);
// Save to PNG with default options.
image.Save(dir + "upsample.bilinear.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
// Scale down by 2 times using Bilinear resampling.
image.Resize(image.Width / 2, image.Height / 2, Aspose.Imaging.ResizeType.BilinearResample);
// Save to PNG with default options.
image.Save(dir + "downsample.bilinear.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Resize(إنت، إنت، ImageResizeSettings)
تعديل حجم الصورة استنادا إلى الإعدادات المحددة، مما يسمح بدقةالسيطرة على الأبعاد، ونسبة الجانب، وسلوك التوسع.طريقة في تدفق عمل معالجة الصور الخاص بك لتحقيق إعادة التخصيص المخصصالعمليات المناسبة لمتطلبات التطبيق الخاصة بك.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
العرض الجديد .
newHeight
int
الارتفاع الجديد
settings
ImageResizeSettings
إعدادات إعادة التدوير
Examples
هذا المثال يحمل صورة TIFF ويعيدها باستخدام إعدادات إعادة التدوير المختلفة.
string dir = "c:\\temp\\";
Aspose.Imaging.ImageResizeSettings resizeSettings = new Aspose.Imaging.ImageResizeSettings();
// The adaptive algorithm based on weighted and blended rational function and lanczos3 interpolation.
resizeSettings.Mode = Aspose.Imaging.ResizeType.AdaptiveResample;
// The small rectangular filter
resizeSettings.FilterType = Aspose.Imaging.ImageFilterType.SmallRectangular;
// The number of colors in the palette.
resizeSettings.EntriesCount = 256;
// The color quantization is not used
resizeSettings.ColorQuantizationMethod = ColorQuantizationMethod.None;
// The euclidian method
resizeSettings.ColorCompareMethod = ColorCompareMethod.Euclidian;
using (Aspose.Imaging.Image image = (Aspose.Imaging.Image)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Scale down by 2 times using adaptive resampling.
tiffImage.Resize(image.Width / 2, image.Height / 2, resizeSettings);
// Save to PNG
tiffImage.Save(dir + "downsample.adaptive.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
ResizeHeightProportionally(إنت، إعادة النوع)
إجراء تعديل نسبي لارتفاع الصورة، والحفاظ على مظهرهاالنسبة من أجل سلامة البصر المتسقة.استخدم هذه الطريقة لتجديد ديناميكيصور داخل تطبيقك، لضمان عرض مثالي على مختلف المنصاتالأجهزة دون إلحاق الضرر بجودة المحتوى
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
الارتفاع الجديد
resizeType
ResizeType
نوع التراجع .
Examples
هذا المثال يحمل صورة TIFF ويعيدها نسبيا باستخدام أساليب إعادة التدوير المختلفة فقط يتم تحديد الارتفاع ، يتم حساب العرض تلقائيا.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
// Scale up by 2 times using Nearest Neighbour resampling.
image.ResizeHeightProportionally(image.Height* 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
// Save to PNG with the default options.
image.Save(dir + "upsample.nearestneighbour.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
// Scale down by 2 times using Nearest Neighbour resampling.
image.ResizeHeightProportionally(image.Height / 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
// Save to PNG with the default options.
image.Save(dir + "downsample.nearestneighbour.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
// Scale up by 2 times using Bilinear resampling.
image.ResizeHeightProportionally(image.Height* 2, Aspose.Imaging.ResizeType.BilinearResample);
// Save to PNG with the default options.
image.Save(dir + "upsample.bilinear.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
// Scale down by 2 times using Bilinear resampling.
image.ResizeHeightProportionally(image.Height / 2, Aspose.Imaging.ResizeType.BilinearResample);
// Save to PNG with the default options.
image.Save(dir + "downsample.bilinear.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
ResizeProportional(int، int، resizeType)
إجراء عملية إعادة التقييم النسبية على الصورة، والحفاظ على نظره، وتعديل أبعادها.استخدم هذه الطريقة لتقييم الصورة بشكل ديناميكيفي تطبيقك، وضمان التمثيل البصري المتسق للمحتوى.سيقوم إعادة التقييم النسبية بإعادة التقييم كل إطار حسب نسبة newWidth’/width و
newHeight’/height.
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
العرض الجديد .
newHeight
int
الارتفاع الجديد
resizeType
ResizeType
هذا النوع من التراجع.
ResizeWidthProportionally(إنت، إعادة النوع)
تعديل عرض الصورة مع الحفاظ على نسبة نظره، وضمانإعادة تدوير النسبية للحصول على عرض بصري مثالي.استخدم هذه الطريقةتقسيم الصور بشكل ديناميكي داخل تطبيقك، مما يسهل اتساقا ومن الناحية الجمالية إظهار ممتع عبر مختلف سياقات العرض.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
العرض الجديد .
resizeType
ResizeType
نوع التراجع .
Examples
هذا المثال يحمل صورة TIFF ويعيدها نسبيًا باستخدام طرق إعادة التدوير المختلفة فقط يتم تحديد العرض ، يتم حساب الارتفاع تلقائيًا.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
// Scale up by 2 times using Nearest Neighbour resampling.
image.ResizeWidthProportionally(image.Width* 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
// Save to PNG with the default options.
image.Save(dir + "upsample.nearestneighbour.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
// Scale down by 2 times using Nearest Neighbour resampling.
image.ResizeWidthProportionally(image.Width / 2, Aspose.Imaging.ResizeType.NearestNeighbourResample);
// Save to PNG with the default options.
image.Save(dir + "downsample.nearestneighbour.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
// Scale up by 2 times using Bilinear resampling.
image.ResizeWidthProportionally(image.Width* 2, Aspose.Imaging.ResizeType.BilinearResample);
// Save to PNG with the default options.
image.Save(dir + "upsample.bilinear.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
// Scale down by 2 times using Bilinear resampling.
image.ResizeWidthProportionally(image.Width / 2, Aspose.Imaging.ResizeType.BilinearResample);
// Save to PNG with the default options.
image.Save(dir + "downsample.bilinear.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Rotate(البول، البول، اللون)
تدور الصورة حول نقطتها المركزية من زاوية محددة، مما يتيح دقةإدراج هذا الوظيفة في معالجة الصورة الخاصة بكخط أنابيب لتسهيل التحويلات الدقيقة، وضمان التكيف الأمثل وعرض المحتوى البصري داخل تطبيقك.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
زاوية الدوران في درجات.القيم الإيجابية سوف تدور في اتجاه الساعة.
resizeProportionally
bool
إذا قمت بتعيين “الحقيقي” ستكون حجم الصورة الخاص بك قد تغيرت وفقًا للتوقعات المستطيلة (نقاط الزاوية) في حالة أخرى تترك الأبعاد غير ملموسة ويتم توجيه محتوى الصورة الداخلي فقط.
backgroundColor
Color
لون الخلفية
Examples
يظهر المثال التالي كيفية تحويل صورة TIFF حول المركز على مدار الساعة 45 درجة.
string dir = "c:\\temp\\";
Aspose.Imaging.ImageOptions.TiffOptions createTiffOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
// Create a permanent, not temporary file source.
createTiffOptions.Source = new Aspose.Imaging.Sources.FileCreateSource(dir + "rotated.tif", false);
createTiffOptions.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.Rgb;
createTiffOptions.BitsPerSample = new ushort[] { 8, 8, 8 };
using (Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Image.Create(createTiffOptions, 100, 100))
{
// The linear gradient from the left-top to the right-bottom corner of the image.
Aspose.Imaging.Brushes.LinearGradientBrush brush =
new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(tiffImage.Width, tiffImage.Height),
Aspose.Imaging.Color.Red,
Aspose.Imaging.Color.Green);
// Fill the active frame with the linear gradient brush.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(tiffImage);
gr.FillRectangle(brush, tiffImage.Bounds);
// Rotate the image around the center by 45 degrees clockwise.
// The image size changed according to rotated rectangle (corner points).
tiffImage.Rotate(45f, true, Aspose.Imaging.Color.Black);
tiffImage.Save();
// Rotate the image around the center by 45 degrees clockwise.
// Leave the image dimensions untouched and only the internal image content are rotated.
tiffImage.Rotate(45f, false, Aspose.Imaging.Color.Gray);
tiffImage.Save(dir + "rotated.preservesize.tif");
}
RotateFlip(RotateFlipType)
إجراء الدوران أو التزلج أو مزيج من كلا العمليات فقط علىإطار نشط.هذه الطريقة تسمح بالتلاعب الدقيق بالإطارات الفردية داخلتسلسل الصورة، وتعزيز المرونة في تحرير الصورة والتكوين داخلالتطبيق الخاص بك
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
نوع الفليب المتحرك.
Examples
ويحمل هذا المثال صورة TIFF، ويحولها إلى 90 درجة في اتجاه الساعة، ويشرب الخياريا الصورة أفقياً و(أو) عمودياً.
string dir = "c:\\temp\\";
Aspose.Imaging.RotateFlipType[] rotateFlipTypes = new Aspose.Imaging.RotateFlipType[]
{
Aspose.Imaging.RotateFlipType.Rotate90FlipNone,
Aspose.Imaging.RotateFlipType.Rotate90FlipX,
Aspose.Imaging.RotateFlipType.Rotate90FlipXY,
Aspose.Imaging.RotateFlipType.Rotate90FlipY,
};
foreach (Aspose.Imaging.RotateFlipType rotateFlipType in rotateFlipTypes)
{
// Rotate, flip and save to the output file.
using (Aspose.Imaging.FileFormats.Tiff.TiffImage image = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
image.RotateFlip(rotateFlipType);
image.Save(dir + "sample." + rotateFlipType + ".png", new Aspose.Imaging.ImageOptions.PngOptions());
}
}
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
يظهر المثال التالي كيفية تعيين الدقة الأفقية / العمودية لصورة TIFF.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.tif"))
{
Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)image;
// Get horizontal and vertical resolution of the TiffImage.
double horizontalResolution = tiffImage.HorizontalResolution;
double verticalResolution = tiffImage.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");
tiffImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", tiffImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", tiffImage.VerticalResolution);
}
}
UpdateDimensions(إنت، إنت)
تحديث أبعاد الصورة.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
عرض الصورة الجديد.
newHeight
int
ارتفاع الصورة الجديدة.