Class TiffImage
Nombre del espacio: Aspose.Imaging.FileFormats.Tiff Asamblea: Aspose.Imaging.dll (25.4.0)
Process Tagged Image File Format (TIFF) raster imágenes con nuestra API, ofreceApoyo integral para diversas resoluciones y capacidades de edición avanzadascomo la manipulación de datos EXIF y los canales alfa. normalizar ángulos para las imágenes escaneadas,Recibir, transformar en grayscale, y aplicar filtros, correcciones de gama y imagenajustes de los parámetros con facilidad. manejar sin problemas los archivos multi-frame TIFF,Crear caminos gráficos, agregar formas, y sin esfuerzo guardar imágenes en diferentes formatos.
[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 ,y, IObjectWithBounds ,y, IRasterImageArgb32PixelLoader ,y, IRasterImageRawDataLoader ,y, IMultipageImageExt ,y, IMultipageImage ,y, IHasExifData ,y, IHasXmpData ,y, IHasMetadata
Miembros heredados
RasterCachedMultipageImage.AdjustBrightness(int) ,y, RasterCachedMultipageImage.AdjustContrast(float) ,y, RasterCachedMultipageImage.AdjustGamma(float, float, float) ,y, RasterCachedMultipageImage.AdjustGamma(float) ,y, RasterCachedMultipageImage.Blend(Point, RasterImage, Rectangle, byte) ,y, RasterCachedMultipageImage.BinarizeFixed(byte) ,y, RasterCachedMultipageImage.BinarizeBradley(double, int) ,y, RasterCachedMultipageImage.BinarizeBradley(double) ,y, RasterCachedMultipageImage.BinarizeOtsu() ,y, RasterCachedMultipageImage.Crop(Rectangle) ,y, RasterCachedMultipageImage.Crop(int, int, int, int) ,y, RasterCachedMultipageImage.Dither(DitheringMethod, int, IColorPalette) ,y, RasterCachedMultipageImage.Grayscale() ,y, RasterCachedMultipageImage.NormalizeHistogram() ,y, RasterCachedMultipageImage.Rotate(float, bool, Color) ,y, RasterCachedMultipageImage.RotateFlip(RotateFlipType) ,y, RasterCachedMultipageImage.RotateFlipAll(RotateFlipType) ,y, RasterCachedMultipageImage.Resize(int, int, ResizeType) ,y, RasterCachedMultipageImage.Resize(int, int, ImageResizeSettings) ,y, RasterCachedMultipageImage.ResizeWidthProportionally(int, ResizeType) ,y, RasterCachedMultipageImage.ResizeHeightProportionally(int, ResizeType) ,y, RasterCachedMultipageImage.ReplaceColor(int, byte, int) ,y, RasterCachedMultipageImage.ReplaceNonTransparentColors(int) ,y, RasterCachedMultipageImage.Filter(Rectangle, FilterOptionsBase) ,y, RasterCachedMultipageImage.NormalizeAngle(bool, Color) ,y, RasterCachedMultipageImage.CacheData() ,y, RasterCachedMultipageImage.ReleaseManagedResources() ,y, RasterCachedMultipageImage.ResizeMain(int, int, ResizeType) ,y, RasterCachedMultipageImage.RotateFlipMain(RotateFlipType) ,y, RasterCachedMultipageImage.CropMain(int, int, int, int) ,y, RasterCachedMultipageImage.SavePixelsInternalMain(Rectangle, int[]) ,y, RasterCachedMultipageImage.CanDoAdjustments() ,y, RasterCachedMultipageImage.GetPagesAsEnumerable() ,y, RasterCachedMultipageImage.GetSerializedStream(ImageOptionsBase, Rectangle, out int) ,y, RasterCachedMultipageImage.Height ,y, RasterCachedMultipageImage.Width ,y, RasterCachedMultipageImage.BitsPerPixel ,y, RasterCachedMultipageImage.IsCached ,y, RasterCachedMultipageImage.PageCount ,y, RasterCachedMultipageImage.Pages ,y, RasterCachedMultipageImage.HasAlpha ,y, RasterCachedMultipageImage.HasTransparentColor ,y, RasterCachedMultipageImage.ImageOpacity ,y, RasterCachedMultipageImage.BackgroundColor ,y, RasterCachedMultipageImage.XmpData ,y, RasterCachedMultipageImage.PageExportingAction ,y, RasterCachedImage.CacheData() ,y, RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) ,y, RasterCachedImage.Resize(int, int, ResizeType) ,y, RasterCachedImage.Resize(int, int, ImageResizeSettings) ,y, RasterCachedImage.RotateFlip(RotateFlipType) ,y, RasterCachedImage.Rotate(float, bool, Color) ,y, RasterCachedImage.Crop(Rectangle) ,y, RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) ,y, RasterCachedImage.Grayscale() ,y, RasterCachedImage.NormalizeHistogram() ,y, RasterCachedImage.BinarizeFixed(byte) ,y, RasterCachedImage.BinarizeOtsu() ,y, RasterCachedImage.BinarizeBradley(double, int) ,y, RasterCachedImage.BinarizeBradley(double) ,y, RasterCachedImage.AdjustBrightness(int) ,y, RasterCachedImage.AdjustContrast(float) ,y, RasterCachedImage.AdjustGamma(float, float, float) ,y, RasterCachedImage.AdjustGamma(float) ,y, RasterCachedImage.OnCached() ,y, RasterCachedImage.OnPaletteChanged(IColorPalette, IColorPalette) ,y, RasterCachedImage.IsCached ,y, RasterImage.xmpData ,y, RasterImage.RemoveMetadata() ,y, RasterImage.Save(Stream, ImageOptionsBase, Rectangle) ,y, RasterImage.GetModifyDate(bool) ,y, RasterImage.Dither(DitheringMethod, int) ,y, RasterImage.Dither(DitheringMethod, int, IColorPalette) ,y, RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) ,y, RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) ,y, RasterImage.GetDefaultArgb32Pixels(Rectangle) ,y, RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) ,y, RasterImage.GetArgb32Pixel(int, int) ,y, RasterImage.GetPixel(int, int) ,y, RasterImage.SetArgb32Pixel(int, int, int) ,y, RasterImage.SetPixel(int, int, Color) ,y, RasterImage.ReadScanLine(int) ,y, RasterImage.ReadArgb32ScanLine(int) ,y, RasterImage.WriteScanLine(int, Color[]) ,y, RasterImage.WriteArgb32ScanLine(int, int[]) ,y, RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) ,y, RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) ,y, RasterImage.LoadArgb32Pixels(Rectangle) ,y, RasterImage.LoadArgb64Pixels(Rectangle) ,y, RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) ,y, RasterImage.LoadPixels(Rectangle) ,y, RasterImage.LoadCmykPixels(Rectangle) ,y, RasterImage.LoadCmyk32Pixels(Rectangle) ,y, RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) ,y, RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) ,y, RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) ,y, RasterImage.SaveArgb32Pixels(Rectangle, int[]) ,y, RasterImage.SavePixels(Rectangle, Color[]) ,y, RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) ,y, RasterImage.SaveCmyk32Pixels(Rectangle, int[]) ,y, RasterImage.SetResolution(double, double) ,y, RasterImage.SetPalette(IColorPalette, bool) ,y, RasterImage.Resize(int, int, ImageResizeSettings) ,y, RasterImage.Rotate(float, bool, Color) ,y, RasterImage.Rotate(float) ,y, RasterImage.BinarizeFixed(byte) ,y, RasterImage.BinarizeOtsu() ,y, RasterImage.BinarizeBradley(double) ,y, RasterImage.BinarizeBradley(double, int) ,y, RasterImage.Blend(Point, RasterImage, Rectangle, byte) ,y, RasterImage.Blend(Point, RasterImage, byte) ,y, RasterImage.Grayscale() ,y, RasterImage.NormalizeHistogram() ,y, RasterImage.AdjustBrightness(int) ,y, RasterImage.AdjustContrast(float) ,y, RasterImage.AdjustGamma(float, float, float) ,y, RasterImage.AdjustGamma(float) ,y, RasterImage.GetSkewAngle() ,y, RasterImage.NormalizeAngle() ,y, RasterImage.NormalizeAngle(bool, Color) ,y, RasterImage.Filter(Rectangle, FilterOptionsBase) ,y, RasterImage.ReplaceColor(Color, byte, Color) ,y, RasterImage.ReplaceColor(int, byte, int) ,y, RasterImage.ReplaceNonTransparentColors(Color) ,y, RasterImage.ReplaceNonTransparentColors(int) ,y, RasterImage.ToBitmap() ,y, RasterImage.ReleaseManagedResources() ,y, RasterImage.UpdateMetadata() ,y, RasterImage.UpdateDimensions(int, int) ,y, RasterImage.PremultiplyComponents ,y, RasterImage.UseRawData ,y, RasterImage.UpdateXmpData ,y, RasterImage.XmpData ,y, RasterImage.RawIndexedColorConverter ,y, RasterImage.RawCustomColorConverter ,y, RasterImage.RawFallbackIndex ,y, RasterImage.RawDataSettings ,y, RasterImage.UsePalette ,y, RasterImage.RawDataFormat ,y, RasterImage.RawLineSize ,y, RasterImage.IsRawDataAvailable ,y, RasterImage.HorizontalResolution ,y, RasterImage.VerticalResolution ,y, RasterImage.HasTransparentColor ,y, RasterImage.HasAlpha ,y, RasterImage.TransparentColor ,y, RasterImage.ImageOpacity ,y, RasterImage.DataLoader ,y, Image.CanLoad(string) ,y, Image.CanLoad(string, LoadOptions) ,y, Image.CanLoad(Stream) ,y, Image.CanLoad(Stream, LoadOptions) ,y, Image.Create(ImageOptionsBase, int, int) ,y, Image.Create(Image[]) ,y, Image.Create(MultipageCreateOptions) ,y, Image.Create(string[], bool) ,y, Image.Create(string[]) ,y, Image.Create(Image[], bool) ,y, Image.GetFileFormat(string) ,y, Image.GetFileFormat(Stream) ,y, Image.GetFittingRectangle(Rectangle, int, int) ,y, Image.GetFittingRectangle(Rectangle, int[], int, int) ,y, Image.Load(string, LoadOptions) ,y, Image.Load(string) ,y, Image.Load(Stream, LoadOptions) ,y, Image.Load(Stream) ,y, Image.GetProportionalWidth(int, int, int) ,y, Image.GetProportionalHeight(int, int, int) ,y, Image.RemoveMetadata() ,y, Image.CanSave(ImageOptionsBase) ,y, Image.Resize(int, int) ,y, Image.Resize(int, int, ResizeType) ,y, Image.Resize(int, int, ImageResizeSettings) ,y, Image.GetDefaultOptions(object[]) ,y, Image.GetOriginalOptions() ,y, Image.ResizeWidthProportionally(int) ,y, Image.ResizeHeightProportionally(int) ,y, Image.ResizeWidthProportionally(int, ResizeType) ,y, Image.ResizeHeightProportionally(int, ResizeType) ,y, Image.ResizeWidthProportionally(int, ImageResizeSettings) ,y, Image.ResizeHeightProportionally(int, ImageResizeSettings) ,y, Image.RotateFlip(RotateFlipType) ,y, Image.Rotate(float) ,y, Image.Crop(Rectangle) ,y, Image.Crop(int, int, int, int) ,y, Image.Save() ,y, Image.Save(string) ,y, Image.Save(string, ImageOptionsBase) ,y, Image.Save(string, ImageOptionsBase, Rectangle) ,y, Image.Save(Stream, ImageOptionsBase) ,y, Image.Save(Stream, ImageOptionsBase, Rectangle) ,y, Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) ,y, Image.SetPalette(IColorPalette, bool) ,y, Image.UpdateContainer(Image) ,y, Image.GetCanNotSaveMessage(ImageOptionsBase) ,y, Image.GetFitRectangle(Rectangle) ,y, Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter) ,y, Image.GetFitRectangle(Rectangle, int[]) ,y, Image.OnPaletteChanged(IColorPalette, IColorPalette) ,y, Image.OnPaletteChanging(IColorPalette, IColorPalette) ,y, Image.ReleaseManagedResources() ,y, Image.BitsPerPixel ,y, Image.Bounds ,y, Image.Container ,y, Image.Height ,y, Image.Palette ,y, Image.UsePalette ,y, Image.Size ,y, Image.Width ,y, Image.InterruptMonitor ,y, Image.BufferSizeHint ,y, Image.AutoAdjustPalette ,y, Image.HasBackgroundColor ,y, Image.FileFormat ,y, Image.BackgroundColor ,y, DataStreamSupporter.timeout ,y, DataStreamSupporter.CacheData() ,y, DataStreamSupporter.Save() ,y, DataStreamSupporter.Save(Stream) ,y, DataStreamSupporter.Save(string) ,y, DataStreamSupporter.Save(string, bool) ,y, DataStreamSupporter.SaveData(Stream) ,y, DataStreamSupporter.ReleaseManagedResources() ,y, DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer) ,y, DataStreamSupporter.DataStreamContainer ,y, DataStreamSupporter.IsCached ,y, DisposableObject.Dispose() ,y, DisposableObject.ReleaseManagedResources() ,y, DisposableObject.ReleaseUnmanagedResources() ,y, DisposableObject.VerifyNotDisposed() ,y, DisposableObject.Disposed ,y, object.GetType() ,y, object.MemberwiseClone() ,y, object.ToString() ,y, object.Equals(object?) ,y, object.Equals(object?, object?) ,y, object.ReferenceEquals(object?, object?) ,y, object.GetHashCode()
Examples
Crea Path Graphics de Path Resources en la imagen de 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");
}
Crear Path Resources utilizando Path Graphics.
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)
Iniciar un nuevo objeto de la clase Aspose.Imaging.FileFormats.Tiff.TiffImage, especificando elEsta configuración facilita la creación de un TiffImagepor ejemplo, permitiendo a los desarrolladores especificar el marco a cargar o procesar,simplificar las tareas de gestión de imágenes de Tiff dentro de sus aplicaciones.
public TiffImage(TiffFrame frame)
Parameters
frame
TiffFrame
El cuadro tiff para iniciar la imagen con.
Examples
Este ejemplo muestra cómo crear una imagen TIFF desde el escudo y salvarla en un archivo.
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" no puede ser vacío.
TiffImage(TiffFrame[])
Crea una nueva instancia de la clase Aspose.Imaging.FileFormats.Tiff.TiffImage, proporcionando una lista deeste constructor permite la iniciación de un TiffImageobjetos con múltiples cuadros, facilitando el manejo y el procesamiento eficientes deSequencias de imágenes TIFF dentro de las aplicaciones de software.
public TiffImage(TiffFrame[] frames)
Parameters
frames
TiffFrame
[][]
Los cuadros.
Examples
Este ejemplo muestra cómo crear una imagen TIFF con 2 cuadros y guardarla en un archivo.
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
Framas
Properties
ActiveFrame
Gestionar el marco activo sin sentido, facilitando la navegación dinámica ymanipulación dentro del contexto designado. empoderar a su aplicación a interactuareficientemente con contenido multimedia, aumentando el compromiso de los usuarios y la productividad.
public TiffFrame ActiveFrame { get; set; }
Valor de la propiedad
Examples
El siguiente ejemplo muestra cómo componer un mutlipage TIFF de imágenes de raster individuales.
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
Alinear la orden de byte para los archivos TIFF de forma indefinida, garantizando un control preciso deInterpretación de datos. Empower tus aplicaciones con la flexibilidad para adaptarse adiversas especificaciones de archivos, mejorando la compatibilidad y la eficiencia en el procesamiento de datos.
public TiffByteOrder ByteOrder { get; set; }
Valor de la propiedad
ExifData
Acceso o modificación de los datos EXIF asociados con el marco activo sin sentido, empoderandocontrol preciso de los metadatos de la imagen. Mejorar las capacidades de su aplicación porintegración de esta función, garantizando la preservación y la personalización exacta deInformación de imagen esencial.
public ExifData ExifData { get; set; }
Valor de la propiedad
FileFormat
Retirar el valor del formato de archivo asociado con la imagen. esta propiedad sirve comoun aspecto crítico de la obtención de metadatos de imagen, permitiendo que las aplicaciones de softwareIdentificar y interpretar de forma eficiente el formato de los datos de la imagen.
public override FileFormat FileFormat { get; }
Valor de la propiedad
Frames
Recuerda una serie de ejemplos de Aspose.Imaging.FileFormats.Tiff.TiffFrame, lo que permiteacceso y manipulación de los cadros individuales dentro de la imagen TIFF.poder de este array para simplificar los flujos de trabajo de procesamiento de imágenes, garantizando la precisiónControl y optimización del contenido visual.
public TiffFrame[] Frames { get; }
Valor de la propiedad
TiffFrame [][]
Examples
El siguiente ejemplo muestra cómo componer un mutlipage TIFF de imágenes de raster individuales.
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
Determina si la imagen tiene un canal alfa, proporcionando información crucialpara las operaciones de rendimiento y composición.Integrar esta función para optimizarflujos de trabajo de procesamiento visual, garantizando la representación exacta y la manipulación deelementos transparentes.
public override bool HasAlpha { get; }
Valor de la propiedad
Examples
El siguiente ejemplo carga una imagen TIFF y imprime información sobre el formato de datos crudos y el canal alfa.
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
Retirar la resolución horizontal del Aspose.Imaging.Image especificado en píxelespor pulgón, facilitando la ajuste precisa y las capacidades de rendimiento.metadatos de imagen esenciales sin esfuerzo, capacitando el procesamiento de imagen estrictamenteflujos de trabajo para mejorar la experiencia del usuario.
public override double HorizontalResolution { get; set; }
Valor de la propiedad
Examples
El siguiente ejemplo muestra cómo configurar la resolución horizontal/vertical de una imagen 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
Nota por defecto este valor es siempre 96 ya que las diferentes plataformas no pueden devolver la resolución de la pantalla. Puede considerar utilizar el método SetResolution para actualizar ambos valores de resolución en una sola llamada.
PageCount
Retirar el número total de páginas dentro del documento especificado, facilitandoeficiente navegación y gestión de contenidos de múltiples páginas.funcionalidad para mejorar la experiencia del usuario, permitiendo el acceso sinestructuras documentales completas.
public override int PageCount { get; }
Valor de la propiedad
Pages
Acceso sin sentido a las páginas del documento, permitiendo la navegación dinámica ymanipulación dentro de la estructura del contenido. empoderar su aplicación con eficaciaacceso a páginas individuales, facilitando el procesamiento de documentos simplificado ymejora de la interacción de los usuarios.
public override Image[] Pages { get; }
Valor de la propiedad
Image [][]
PremultiplyComponents
Indicar si los componentes necesitan premultiplicación, garantizando un manejo eficientede los elementos visuales. mejora los procesos de rendimiento al coger esta propiedad,simplificar los flujos de trabajo gráficos para el rendimiento optimizado.
public override bool PremultiplyComponents { get; set; }
Valor de la propiedad
Examples
El siguiente ejemplo crea una nueva imagen TIFF, salva los píxeles semi-transparentes especificados, luego carga esos píxeles y obtiene los colores finales en la forma prematura.
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
Acceso a la resolución vertical del designado Aspose.Imaging.Image en píxeles porpulgadas, permitiendo ajustes precisos y optimizaciones de rendimiento.datos de imagen sin esfuerzo para simplificar los flujos de trabajo de procesamiento de imagen, garantizandosuperior calidad y rendimiento en sus aplicaciones.
public override double VerticalResolution { get; set; }
Valor de la propiedad
Examples
El siguiente ejemplo muestra cómo configurar la resolución horizontal/vertical de una imagen 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
Nota por defecto este valor es siempre 96 ya que las diferentes plataformas no pueden devolver la resolución de la pantalla. Puede considerar utilizar el método SetResolution para actualizar ambos valores de resolución en una sola llamada.
Methods
Add(TiffImage)
Añade los cuadros de la imagen especificada sin sentido al cuadro actual,consolida su contenido y mejora la flexibilidad de la composición.este método para simplificar la gestión y manipulación del marco dentro de suAplicación, facilitando el manejo eficiente de imágenes multi-frame.
public void Add(TiffImage image)
Parameters
image
TiffImage
La imagen de la fuente.
AddFrame(TiffFrame)
Incorporar el marco especificado sin sentido en la imagen, ampliando su contenidoUtilice este método para mejorar la composición y la gestión de la imagen,habilitar el manejo eficiente de imágenes multi-frame dentro de su aplicación.
public void AddFrame(TiffFrame frame)
Parameters
frame
TiffFrame
El marco para añadir.
Examples
El siguiente ejemplo muestra cómo componer un mutlipage TIFF de imágenes de raster individuales.
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[])
Integra la gama de cuadros sin sentido en la imagen, enriquecendo su contenido yutiliza este método para mejorar la composición y la gestión de la imagen,Permite el manejo eficiente de imágenes multi-frame dentro de su aplicación.
public void AddFrames(TiffFrame[] frames)
Parameters
frames
TiffFrame
[][]
Los cuadros array para agregar
AddPage(RasterImage)
Incorporar una nueva página en la imagen existente sin sentido, ampliando su contenidoy versatilidad. utilice este método para mejorar la composición del documento yGestión, capacitando el manejo eficiente de imágenes de múltiples páginas dentro de su aplicación.
public virtual void AddPage(RasterImage page)
Parameters
page
RasterImage
La página para añadir.
Exceptions
page’ is null.
AdjustBrightness(Int)
Implementar la ajuste de claridad para la imagen, permitiendo la themodificación de los niveles de luminosidad general. Incorporar este método en su flujo de trabajo de procesamiento de imágenes para mejorar la visibilidad y mejorar la calidad visual de las imágenes dentro de su aplicación.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Valor de brillo.
Examples
El siguiente ejemplo realiza una corrección de brillo de una imagen 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(float)
Mejora el contraste de la instancia Aspose.Imaging.Image,amplificar las diferencias entre sus áreas de luz y oscuridad.funcionalidad para mejorar la claridad visual y la calidad general de la imagendentro de su solicitud.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Valor de contraste (en rango [-100; 100])
Examples
El siguiente ejemplo realiza una corrección de contraste de una imagen 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(float)
Aplique la corrección gamma a la imagen, ajustando las intensidades de los píxeles adeseado equilibrio de color. Incorporar este método en su procesamiento de imagenflujo de trabajo para mejorar la calidad visual y mejorar la precisión de los siguientesanalizar o mostrar tareas dentro de su aplicación.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma para los canales rojo, verde y azul coeficiente
Examples
El siguiente ejemplo realiza la corrección gamma de una imagen 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(float, float y float)
Performan la corrección gamma en la imagen utilizando coeficientes individuales para el rojo,canales verdes y azules, que permiten ajustes de equilibrio de colorIntegra este método en su pipeline de procesamiento de imágenes paragarantizar un control preciso de la renderización de colores y mejorar la fidelidad visual dentrosu solicitud.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma para el coeficiente de canal rojo
gammaGreen
float
Gamma para el coeficiente de canal verde
gammaBlue
float
Gamma para el coeficiente de canal azul
Examples
El siguiente ejemplo realiza la corrección gamma de una imagen TIFF aplicando diferentes coeficientes para los componentes de color.
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()
Implementar el método de ayuda AlignResolutions para sincronizar horizontal yResoluciones verticales, garantizando la uniformidad en las dimensiones de la imagen.facilita flujos de trabajo de procesamiento de imagen simplificados mediante la armonización de la resoluciónparámetros, optimizando la calidad visual y la coherencia a través de diversas plataformas ylos dispositivos.
public void AlignResolutions()
BinarizeBradley(El doble, int)
Implementación de la binarización en la imagen empleando el límite adaptativo de BradleyAlgoritmo con límite de imagen integral. este enfoque computa dinámicamentelímites locales basados en la vecindad de la imagen, mejorando la adaptabilidad avariar las condiciones de iluminación y garantizar una segmentación robusta para posterioresprocesamiento de tareas dentro de su solicitud.
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
La diferencia de brillo entre el pixel y la media de una ventana s x s de píxelesen torno a este pixel.
windowSize
int
El tamaño de la ventana s x s de los píxeles centrados alrededor de este píxel
Examples
El siguiente ejemplo binariza una imagen TIFF con el algoritmo adaptativo de Bradley con el tamaño de la ventana especificada. imágenes binarias contienen sólo 2 colores - negro y blanco.
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(El byte)
Aplique la binarización a la imagen utilizando un límite predefinido, convirtiéndola enuna imagen binaria con distintas regiones de antegrado y de fondo.método en su flujo de trabajo de procesamiento de imágenes para facilitar la segmentación y la funcióntareas de extracción, mejorando la exactitud y eficiencia de la análisis de imagen dentro desu solicitud.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Si el valor gris correspondiente de un pixel es mayor que el límite, un valor de255 se asignará a ella, 0 de otra manera.
Examples
El siguiente ejemplo binariza una imagen TIFF con el límite predefinido. imágenes binarias contienen sólo 2 colores - negro y blanco.
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()
Utiliza los límites de Otsu para realizar la binarización en la imagen, automáticamentedeterminar el valor del límite óptimo basado en el histograma de la imagen.este método en su flujo de trabajo de procesamiento de imágenes para lograr una segmentación efectivay la extracción de características, mejorando la exactitud y fiabilidad de la análisis de imagentareas dentro de su solicitud.
public override void BinarizeOtsu()
Examples
El siguiente ejemplo binariza una imagen TIFF con el límite de Otsu. imágenes binarias contienen sólo 2 colores - negro y blanco.
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)
Cultivar la imagen utilizando una región rectangular especificada, lo que permite la selección precisa deIntegra este método en su flujo de trabajo de procesamiento de imágenes paraeliminar de manera eficiente las áreas no deseadas y centrarse en los detalles esenciales, mejorando laclaridad general y composición de la imagen.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
El rectángulo.
Examples
El siguiente ejemplo cultiva una imagen TIFF. La zona de cultivo se especifica a través de 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(Int, int, int, int)
Performan la cosecha en la imagen especificando los cambios en la izquierda, derecha, arriba, yEste método permite la selección precisa de la porción deseada dela imagen, facilitando la eliminación eficiente de las áreas no deseadas y centrándose enIntegra esta funcionalidad en tu procesamiento de imágenespipeline para mejorar la claridad y la composición según sea necesario dentro de su aplicación.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
El cambio de izquierda.
rightShift
int
El cambio correcto.
topShift
int
El cambio superior.
bottomShift
int
El cambio de fondo.
Examples
El siguiente ejemplo cultiva una imagen TIFF. La zona de cultivo se especifica a través de las margen izquierda, arriba, derecha, abajo.
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(DitheringMétodo, int, IColorPalette)
Ejecutar la difusión en la imagen actual para mejorar su calidad visual y reducirIntegra este método en su flujo de trabajo de procesamiento de imágenespara garantizar una transición más suave entre los colores, lo que resulta en una mejor imagen generalapariencia y claridad.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
El método de difusión.
bitsCount
int
Los últimos bits cuentan para diitar.
customPalette
IColorPalette
La paleta personalizada para la difusión.
Examples
El siguiente ejemplo carga una imagen de TIFF y realiza el límite y el fluido de dithering utilizando diferentes profundidades de paleta.
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(Rectangle, FilterOptionsBase)
Filtrar el contenido dentro del rectángulo especificado, aplicando una imagen designadafiltros de procesamiento para mejorar o modificar la región seleccionada.en su flujo de trabajo de manipulación de imagen para lograr mejoras dirigidas otransformaciones dentro de su aplicación.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
El rectángulo.
options
FilterOptionsBase
Las opciones.
Examples
El siguiente ejemplo aplica varios tipos de filtros a una imagen 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()
Retrieve opciones derivadas de las configuraciones de archivo originales, facilitando laconservación de los parámetros clave como la profundidad del bit y otros atributos esenciales deutiliza este método para mantener la fidelidad y la coherencia enTareas de procesamiento de imágenes, garantizando resultados óptimos sin cambios innecesarios.Por ejemplo, si cargamos una imagen de PNG en blanco y negro con 1 bito por píxel y luego la guardamos utilizando elAspose.Imaging.DataStreamSupporter.Save(System.String) método, la imagen PNG de salida con 8 bits por pixel se producir.Para evitarlo y ahorrar la imagen PNG con 1 bits por píxel, utilice este método para obtener las opciones de ahorro correspondientes y pasarlaspara el método Aspose.Imaging.Image.Save(System.String,Aspose.Imaging.ImageOptionsBase) como el segundo parámetro.
public override ImageOptionsBase GetOriginalOptions()
Returns
Las opciones basadas en las configuraciones de archivo original.
Exceptions
No hay opciones originales que se puedan extraer de la imagen
Grayscale()
Convertir la imagen en su representación griscal, transformándola en unaImagen de un solo canal donde cada píxel representa la intensidad.en su pipeline de procesamiento de imágenes para simplificar el análisis y mejorarcompatibilidad con algoritmos basados en grayscale, facilitando varios ordenadorestareas de visión y análisis de imagen dentro de su aplicación.
public override void Grayscale()
Examples
El siguiente ejemplo transforma una imagen de color TIFF en su representación de escalera gris.Las imágenes de escalera gris se componen exclusivamente de sombras de gris y solo llevan información de intensidad.
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(Título: TiffFrame)
Insertar el nuevo marco en el índice especificado dentro de la secuencia de marco, garantizandocontrol preciso sobre el arreglo del marco. emplear este método para gestionar el marcosecuencias efectivamente, facilitando la manipulación dinámica y la organización de la imagencontenidos dentro de su solicitud.
public void InsertFrame(int index, TiffFrame frameToInsert)
Parameters
index
int
Indice de nuevo marco en la lista de cuadros
frameToInsert
TiffFrame
El marco para insertar.
NormalizeAngle(Cuerpo, color)
Utilice el método NormalizeAngle diseñado específicamente para documentos de texto escaneadospara rectificar las escaneas, garantizando una alineación exacta.Integra esta funcionalidad en sus flujos de trabajo de procesamiento de texto para mejorarlectura y calidad de los documentos, mejorando la eficiencia general en el reconocimiento de textoy las tareas de análisis.Este método utiliza los métodos Aspose.Imaging.RasterImage.GetSkewAngle y Aspose.Imaging.FileFormats.Tiff.TiffImage.Rotate(System.Single,System.Boolean,Aspose.Imaging.Color.
public override void NormalizeAngle(bool resizeProportionally, Color backgroundColor)
Parameters
resizeProportionally
bool
si se establece a ‘verdad’ tendrás su tamaño de imagen cambiado de acuerdo con las proyecciones rectangulares rotadas (puntos de esquina) en otro caso que deja las dimensiones no tocadas y sólo los contenidos de la imagen interna son rotados.
backgroundColor
Color
El color del fondo.
ReleaseManagedResources()
Asegúrese de que los recursos no gestionados no se liberan aquí, ya que pueden haber sido ya liberados.
protected override void ReleaseManagedResources()
RemoveFrame(Int)
Elimina sin esfuerzo el marco identificado por su índice de la secuencia de la imagen,para simplificar la gestión del marco dentro de su aplicación.funcionalidad para mejorar la eficiencia y la precisión en la manipulación del marco,Facilitar la organización sin sentido y la presentación de contenido de imagen.
public TiffFrame RemoveFrame(int index)
Parameters
index
int
Indice de marco que debe ser eliminado.
Returns
El marco eliminado.
Examples
El siguiente ejemplo muestra cómo componer un mutlipage TIFF de imágenes de raster individuales.
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
Nota: No te olvides de Disponer el marco si no lo agregas a otros TiffImage.
RemoveFrame(TiffFrame)
Eliminar eficazmente el marco especificado de la secuencia de la imagen, facilitandoGestión del marco simplificado dentro de su aplicación. integra esta funcionalidadpara mejorar la precisión y la flexibilidad en la manipulación del marco, garantizando laOrganización y presentación de contenido de imagen.
public void RemoveFrame(TiffFrame frame)
Parameters
frame
TiffFrame
El marco para eliminar.
Remarks
Nota: No te olvides de Disponer el marco si no lo agregas a otros TiffImage.
RemoveMetadata()
Elimina estos metadatos de instancia de la imagen al configurar los valores de Aspose.Imaging.Xmp.IHasXMPData.xmpDat y Wl17.Exif. Nula.
public override void RemoveMetadata()
ReplaceFrame(Título: TiffFrame)
Substituir el marco en la posición designada con otro marco sin sentido,facilitar la gestión dinámica del marco dentro de la secuencia de la imagen.el método para mejorar la flexibilidad y la precisión en la manipulación del marco, garantizandoOrganización óptima y presentación de contenido de imagen dentro de su aplicación.
public TiffFrame ReplaceFrame(int index, TiffFrame frameToReplace)
Parameters
index
int
La posición del marco basada en cero.
frameToReplace
TiffFrame
El marco para reemplazar.
Returns
El marco eliminado.
Remarks
Nota: No te olvides de Disponer el marco si no lo agregas a otros TiffImage.
Resize(int, int, resizeType)
Resucitar la imagen según un tipo de resucitación especificado, facilitando la flexibilidadajuste de las dimensiones de la imagen mientras se conserva la relación de aspecto o se aplica específicaIncorporar este método en su flujo de trabajo de procesamiento de imágenespara lograr un control preciso de las operaciones de resignación dentro de su solicitud.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
La nueva amplitud.
newHeight
int
La nueva altura.
resizeType
ResizeType
El tipo de residuos.
Examples
Este ejemplo carga una imagen TIFF y la resisa utilizando diferentes métodos de resisación.
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(int, int, ImageResizeSettings)
Ajustar el tamaño de la imagen basado en las configuraciones especificadas, lo que permite la precisióncontrol sobre las dimensiones, la relación de aspecto y el comportamiento de escalación.método en su flujo de trabajo de procesamiento de imágenes para lograr la recreación personalizadaoperaciones adaptadas a los requisitos específicos de su solicitud.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
La nueva amplitud.
newHeight
int
La nueva altura.
settings
ImageResizeSettings
los ajustes de residuos.
Examples
Este ejemplo carga una imagen TIFF y la resisa utilizando diferentes configuraciones de resisación.
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(Int, ResizeType)
Realizar una ajuste proporcional de la altura de la imagen, preservando su aspectoproporción para la integridad visual consistente. emplear este método para resistir dinámicamenteimágenes dentro de su aplicación, garantizando la visualización óptima a través de diversas plataformasy los dispositivos sin comprometer la calidad del contenido.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
La nueva altura.
resizeType
ResizeType
Tipo de residuos.
Examples
Este ejemplo carga una imagen TIFF y la resisa proporcionalmente utilizando diferentes métodos de resisación.Sólo la altura se especifica, la anchura se calcula automáticamente.
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)
Implementa este método para escalar de forma dinámica las imágenes dentro de su aplicación, garantizando una representación visual consistente de la integridad del contenido.El resumen proporcional resumen cada marco según la relación de newWidth’/width y
newHeight’/height.
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
La nueva amplitud.
newHeight
int
La nueva altura.
resizeType
ResizeType
El tipo de residuos.
ResizeWidthProportionally(Int, ResizeType)
Ajustar la anchura de la imagen mientras se mantiene su relación de aspecto, garantizandoproporcional para la presentación visual óptima.Utilizar este método paraescalera de forma dinámica las imágenes dentro de su aplicación, facilitando la coherencia yEstéticamente agradable rendimiento a través de diferentes contextos de pantalla.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
La nueva amplitud.
resizeType
ResizeType
Tipo de residuos.
Examples
Este ejemplo carga una imagen TIFF y la resisa proporcionalmente utilizando diferentes métodos de resisación.Sólo la anchura se especifica, la altura se calcula automáticamente.
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(float, bool, color)
Rotar la imagen alrededor de su punto central con un ángulo especificado, permitiendo la precisiónajustes de orientación. Incorporar esta funcionalidad en su procesamiento de imágenespara facilitar las transformaciones precisas, garantizar la alineación óptima yPresentación de contenido visual dentro de su aplicación.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
El ángulo de rotación en grados. valores positivos rotarán de manera horaria.
resizeProportionally
bool
si se establece a ‘verdad’ tendrás su tamaño de imagen cambiado de acuerdo con las proyecciones rectangulares rotadas (puntos de esquina) en otro caso que deja las dimensiones no tocadas y sólo los contenidos de la imagen interna son rotados.
backgroundColor
Color
El color del fondo.
Examples
El siguiente ejemplo muestra cómo girar una imagen TIFF alrededor del centro a 45 grados de la vista del reloj.
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)
realizar rotación, flipping o una combinación de ambas operaciones exclusivamente en elEste método permite la manipulación precisa de los cadros individuales dentro dela secuencia de la imagen, mejorando la flexibilidad en la edición de la imagen y la composición dentrosu solicitud.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
El tipo de flip rotado.
Examples
Este ejemplo carga una imagen TIFF, la rota por 90 grados al horario y opcional flips la imagen horizontalmente y/o verticalmente.
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)
Salva los datos del objeto a la corriente especificada.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
El flujo para salvar los datos del objeto a.
SetResolution(doble, doble)
Establece la resolución para el Aspose.Imaging.RasterImage especificado, permitiendocontrol preciso de las propiedades de renderización de imágenes y de exhibición.funcionalidad para optimizar la producción visual y garantizar la compatibilidad con la diversidaddispositivos de salida y plataformas, mejorando la experiencia general del usuario.
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
La resolución horizontal, en puntos por pulgón, del Aspose.Imaging.RasterImage.
dpiY
double
La resolución vertical, en puntos por pulgón, del Aspose.Imaging.RasterImage.
Examples
El siguiente ejemplo muestra cómo configurar la resolución horizontal/vertical de una imagen 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(El int, int)
Actualizar las dimensiones de la imagen.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
La nueva imagen es amplia.
newHeight
int
El nuevo tamaño de la imagen.