Class DicomImage
Il nome: Aspose.Imaging.FileFormats.Dicom Assemblea: Aspose.Imaging.dll (25.4.0)
Questa classe implementa l’immagine digitale e le comunicazioni nella medicina(DICOM) supporta il formato dell’immagine di raster e offre una soluzione completa perelaborare le immagini DICOM con precisione e flessibilità.- manipolare le pagine di immagine, comprese le operazioni per ottenere, aggiungere o rimuovere la pagina, econtrollare le pagine predefinite e attive. con la capacità di lavorare con i canali alfa,incorporare i metadati XMP, riassumere, rotazione, coltivazione, binarizzazione, adattamento, applicare filtri,e convertire in altri formati di raster. questa API consente agli sviluppatori di gestireImmagini di DICOM in modo efficiente, rispondendo a vari requisiti di applicazioneIl contesto dell’immagine medica.
[JsonObject(MemberSerialization.OptIn)]
public sealed class DicomImage : RasterCachedMultipageImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IMultipageImageExt, IMultipageImage
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage ← RasterCachedImage ← RasterCachedMultipageImage ← DicomImage
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata , IMultipageImageExt , IMultipageImage
I membri ereditari
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.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.IsCached , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Cambiare il tipo di colore nella compressione DICOM.
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions { ColorType = ColorType.Grayscale8Bit };
inputImage.Save("original_8Bit.dcm", options);
}
Utilizzare la compressione RLE in immagine DICOM.
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions
{
ColorType = ColorType.Rgb24Bit,
Compression = new Compression { Type = CompressionType.Rle }
};
inputImage.Save("original_RLE.dcm", options);
}
Utilizzare la compressione JPEG 2000 in immagine DICOM.
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions
{
ColorType = ColorType.Rgb24Bit,
Compression = new Compression
{
Type = CompressionType.Jpeg2000,
Jpeg2000 = new Jpeg2000Options
{
Codec = Jpeg2000Codec.Jp2,
Irreversible = false
}
}
};
inputImage.Save("original_JPEG2000.dcm", options);
}
Utilizzare la compressione JPEG in immagine DICOM.
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions
{
ColorType = ColorType.Rgb24Bit,
Compression = new Compression
{
Type = CompressionType.Jpeg,
Jpeg = new JpegOptions
{
CompressionType = JpegCompressionMode.Baseline,
SampleRoundingMode = SampleRoundingMode.Truncate,
Quality = 50
}
}
};
inputImage.Save("original_JPEG.dcm", options);
}
Questo esempio mostra come caricare un’immagine DICOM da un file stream.
string dir = "c:\\temp\\";
// Load a DICOM image from a file stream.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "sample.dicom"))
{
using (Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = new Aspose.Imaging.FileFormats.Dicom.DicomImage(stream))
{
// Save each page as an individual PNG image.
foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage dicomPage in dicomImage.DicomPages)
{
// Generate a file name based on the page index.
string fileName = string.Format("sample.{0}.png", dicomPage.Index);
// A DICOM page is a raster image, so all allowed operations with a raster image are applicable to a DICOM page.
dicomPage.Save(dir + fileName, new Aspose.Imaging.ImageOptions.PngOptions());
}
}
}
Creare un’immagine multi-pagina di Dicom.
using (DicomImage image = (DicomImage)Image.Create(
new DicomOptions() { Source = new StreamSource(new MemoryStream()) },
100,
100))
{
// Draw something using vector graphics
Graphics graphics = new Graphics(image);
graphics.FillRectangle(new SolidBrush(Color.BlueViolet), image.Bounds);
graphics.FillRectangle(new SolidBrush(Color.Aqua), 10, 20, 50, 20);
graphics.FillEllipse(new SolidBrush(Color.Orange), 30, 50, 70, 30);
// Save the pixels of the drawn image. They are now on the first page of the Dicom image.
int[] pixels = image.LoadArgb32Pixels(image.Bounds);
// Add a few pages after, making them darker
for (int i = 1; i < 5; i++)
{
DicomPage page = image.AddPage();
page.SaveArgb32Pixels(page.Bounds, pixels);
page.AdjustBrightness(i * 30);
}
// Add a few pages in front of the main page, making them brighter
for (int i = 1; i < 5; i++)
{
DicomPage page = image.InsertPage(0);
page.SaveArgb32Pixels(page.Bounds, pixels);
page.AdjustBrightness(-i * 30);
}
// Save the created multi-page image to the output file
image.Save("MultiPage.dcm");
}
Constructors
DicomImage(Sviluppo, int int)
Iniziare una nuova instanza della classe DicomImage senza sforzo con questoConstructor, utilizzando parametri di dicomOptions. Perfetto per gli sviluppatori che guardanoper immergersi in Aspose.Imaging.FileFormats.Dicom.DicomImage oggetti in modo rapido ed efficiente nei loro progetti.
public DicomImage(DicomOptions dicomOptions, int width, int height)
Parameters
dicomOptions
DicomOptions
Le opzioni di dicom.
width
int
La larghezza .
height
int
La altezza .
DicomImage(LoadOptions e LoadOptions)
Iniziare una nuova instanza della classe DicomImage in modo fluido utilizzando un flusso ecaricoOpzioni parametri in questo costruttore. ideale per gli sviluppatori desiderosi di avviarelavorare con Aspose.Imaging.FileFormats.Dicom.DicomImage oggetti in modo rapido ed efficace nei loro progetti.
public DicomImage(Stream stream, LoadOptions loadOptions)
Parameters
stream
Stream
Il flusso .
loadOptions
LoadOptions
Le opzioni di carico.
Examples
Questo esempio mostra come caricare un’immagine DICOM da un flusso di file per rimanere all’interno del limite di memoria specificato.
string dir = "c:\\temp\\";
// Load a DICOM image from a file stream.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "multiframe.dicom"))
{
// The max allowed size for all internal buffers is 256KB.
Aspose.Imaging.LoadOptions loadOptions = new Aspose.Imaging.LoadOptions();
loadOptions.BufferSizeHint = 256 * 1024;
using (Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = new Aspose.Imaging.FileFormats.Dicom.DicomImage(stream, loadOptions))
{
// Save each page as an individual PNG image.
foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage dicomPage in dicomImage.DicomPages)
{
// Generate a file name based on the page index.
string fileName = string.Format("multiframe.{0}.png", dicomPage.Index);
// A DICOM page is a raster image, so all allowed operations with a raster image are applicable to a DICOM page.
dicomPage.Save(dir + fileName, new Aspose.Imaging.ImageOptions.PngOptions());
}
}
}
DicomImage(Stream)
Creare una nuova instanza della classe DicomImage utilizzando un parametro di flussoPerfetto per gli sviluppatori che cercano un modo rigido per inizializzareAspose.Imaging.FileFormats.Dicom.DicomImage oggetti provenienti da flussi dati esistenti nei loro progetti.
public DicomImage(Stream stream)
Parameters
stream
Stream
Il flusso .
Examples
Questo esempio mostra come caricare un’immagine DICOM da un file stream.
string dir = "c:\\temp\\";
// Load a DICOM image from a file stream.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "sample.dicom"))
{
using (Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = new Aspose.Imaging.FileFormats.Dicom.DicomImage(stream))
{
// Save each page as an individual PNG image.
foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage dicomPage in dicomImage.DicomPages)
{
// Generate a file name based on the page index.
string fileName = string.Format("sample.{0}.png", dicomPage.Index);
// A DICOM page is a raster image, so all allowed operations with a raster image are applicable to a DICOM page.
dicomPage.Save(dir + fileName, new Aspose.Imaging.ImageOptions.PngOptions());
}
}
}
Properties
ActivePage
Gestire la pagina attiva dell’immagine con questa proprietà intuitiva. ideale per gli sviluppatoricercare di scorrere dinamicamente tra le pagine all’interno delle immagini multi-pagine, assicurando efficienteNavigazione e elaborazione.
public DicomPage ActivePage { get; set; }
Valore di proprietà
Exceptions
La pagina attiva non può essere impostata in quanto appartiene ad un’altra immagine.
ActivePageIndex
Retrate l’indice della pagina attiva senza sforzo con questa proprietà intuitiva.Ideale per gli sviluppatori che cercano l’accesso rapido all’indice di pagina corrente in più pagineImmagini, assicurando efficiente navigazione e elaborazione.
public int ActivePageIndex { get; }
Valore di proprietà
DicomPages
Accedere alle pagine dell’immagine con questa proprietà intuitiva. ideale per gli sviluppatoricercare di interagire con le pagine individuali all’interno dell’immagine, assicurando l’indifferenzaNavigazione e manipolazione.
public DicomPage[] DicomPages { get; }
Valore di proprietà
DicomPage [ ]
FileFormat
Ripristinare il valore del formato di file senza sforzo con questa proprietà intuitiva.sviluppatori che cercano l’accesso rapido al formato del file immagine, assicurando efficientegestione e elaborazione in base al tipo di file.
public override FileFormat FileFormat { get; }
Valore di proprietà
FileInfo
Retrarre preziose informazioni di titolo dal file DICOM senza sforzo con questoProprietà intuitiva. ideale per gli sviluppatori che cercano un rapido accesso ai dettagli essenzialiIncapsulato all’interno del file DICOM, assicurando un’efficace estrazione e analisi dei dati.
public DicomImageInfo FileInfo { get; }
Valore di proprietà
HasAlpha
Retrate se l’immagine ha un canale alfa senza sforzo con questo intuitivoIdeale per gli sviluppatori che cercano di determinare se l’immagine contiene trasparenzainformazioni, assicurando un trattamento accurato dei dati del canale alfa nei compiti di elaborazione dell’immagine.
public override bool HasAlpha { get; }
Valore di proprietà
PageCount
Retrate il numero totale di pagine dell’immagine con questa proprietà intuitiva.gli sviluppatori che cercano l’accesso rapido al numero di pagine all’interno di un’immagine, assicurandoNavigazione e gestione efficiente.
public override int PageCount { get; }
Valore di proprietà
Pages
Accedere alle pagine dell’immagine con questa proprietà intuitiva. ideale per gli sviluppatoricercare di interagire con le singole pagine all’interno dell’immagine, assicurando la navigazione senza segnie la manipolazione.
public override Image[] Pages { get; }
Valore di proprietà
Image [ ]
Methods
AddPage(RasterImage)
Espandere la tua collezione di immagini aggiungendo una nuova pagina con questo metodo intuitivo.Ideale per gli sviluppatori che cercano di aggiungere dinamicamente pagine a immagini multipagine,Assicurare l’espansione e la organizzazione del contenuto dell’immagine.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
La pagina da aggiungere.
Exceptions
page’ is null.
AddPage()
Aggiungi una nuova pagina alla fine della lista delle pagine dell’immagine con questo metodo semplice.Ideale per gli sviluppatori che cercano di espandere in modo dinamico le immagini multi-pagine, assicurando l’indifferenzaintegrazione e organizzazione del contenuto immagine.
public DicomPage AddPage()
Returns
Il nuovo creato Aspose.Imaging.FileFormats.Dicom.Page.
Examples
Creare un’immagine multi-pagina di Dicom.
using (DicomImage image = (DicomImage)Image.Create(
new DicomOptions() { Source = new StreamSource(new MemoryStream()) },
100,
100))
{
// Draw something using vector graphics
Graphics graphics = new Graphics(image);
graphics.FillRectangle(new SolidBrush(Color.BlueViolet), image.Bounds);
graphics.FillRectangle(new SolidBrush(Color.Aqua), 10, 20, 50, 20);
graphics.FillEllipse(new SolidBrush(Color.Orange), 30, 50, 70, 30);
// Save the pixels of the drawn image. They are now on the first page of the Dicom image.
int[] pixels = image.LoadArgb32Pixels(image.Bounds);
// Add a few pages after, making them darker
for (int i = 1; i < 5; i++)
{
DicomPage page = image.AddPage();
page.SaveArgb32Pixels(page.Bounds, pixels);
page.AdjustBrightness(i * 30);
}
// Add a few pages in front of the main page, making them brighter
for (int i = 1; i < 5; i++)
{
DicomPage page = image.InsertPage(0);
page.SaveArgb32Pixels(page.Bounds, pixels);
page.AdjustBrightness(-i * 30);
}
// Save the created multi-page image to the output file
image.Save("MultiPage.dcm");
}
AdjustBrightness(int)
Migliora la luminosità dell’immagine con l’adeguamento della brightness", metodo aparameterizzato che consente agli sviluppatori di tonare perfettamente la luminosità delle immagini.Questa funzione user-friendly consentirà agli sviluppatori di manipolare senza sforzo la brillantezza, offrendo flessibilità e il controllo sull’estetica visiva.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Il valore della luminosità.
Examples
Il seguente esempio esegue la correzione di luminosità di un’immagine DICOM.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Set the brightness value. The accepted values of brightness are in the range [-255, 255].
dicomImage.AdjustBrightness(50);
dicomImage.Save(dir + "sample.AdjustBrightness.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustContrast(flotta)
Migliora Aspose.Imaging.Immagine contrasto con questo metodo user-friendly,che regola la disparità tra le aree di luce e buio. migliorare la chiarezza visiva eDefinizione senza sforzo, fornendo agli sviluppatori un controllo intuitivo suContrasto immagine per rendering ottimale.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Valore di contrasto (in gamma [-100; 100])
Examples
Il seguente esempio esegue la correzione di contrasto di un’immagine DICOM.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Set the contrast value. The accepted values of contrast are in the range [-100f, 100f].
dicomImage.AdjustContrast(50f);
dicomImage.Save(dir + "sample.AdjustContrast.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustGamma(flotta)
Migliora la qualità dell’immagine e la regola con la correzione gamma, una potente tecnicaPerfetto per gli sviluppatori che mirano ad ottimizzare l’immaginepresentazione, adeguamento dell’equilibrio dei colori e assicurazione di rendering coerente tra i diversidispositivi e ambienti.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma per il coefficiente dei canali rosso, verde e blu
Examples
Il seguente esempio esegue la correzione gamma di un’immagine DICOM.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Set gamma coefficient for red, green and blue channels.
dicomImage.AdjustGamma(2.5f);
dicomImage.Save(dir + "sample.AdjustGamma.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustGamma(Flotta, flotta e flotta)
Realizzare adeguamenti di colore precisi applicando la correzione gamma in modo indipendenteper i componenti rossi, verdi e blu di un’immagine.Questo metodo assicura l’accuratezzaequilibrio dei colori e rendimento visivo ottimale, catering per gli sviluppatori che cercano granuliControllo della renderizzazione dell’immagine e accuratezza del colore.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma per il coefficiente del canale rosso
gammaGreen
float
Gamma per il coefficiente del canale verde
gammaBlue
float
Gamma per il coefficiente del canale blu
Examples
L’esempio seguente esegue la correzione gamma di un’immagine DICOM applicando coefficienti diversi per i componenti di colore.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Set individual gamma coefficients for red, green and blue channels.
dicomImage.AdjustGamma(1.5f, 2.5f, 3.5f);
dicomImage.Save(dir + "sample.AdjustGamma.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
BinarizeBradley(Il doppio int)
Binarizzare le immagini con l’algoritmo adattivo del limite di BradleyImmagine di soglia per migliorare le prestazioni. ideale per gli sviluppatori che cercano disegmenta automaticamente le immagini in base alle variazioni locali della luminosità, garantendorilevazione e estrazione accurata degli oggetti in diverse condizioni di illuminazione.
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
La differenza di luminosità tra il pixel e la media di una finestra s x s di pixellicentrato intorno a questo pixel.
windowSize
int
La dimensione della finestra s x s dei pixel centrati intorno a questo pixel
Examples
L’esempio seguente binarisce un’immagine DICOM con l’algoritmo adattivo di Bradley con la dimensione specifica della finestra. immagini binarie contengono solo 2 colori - nero e bianco.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)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.
dicomImage.BinarizeBradley(5, 10);
dicomImage.Save(dir + "sample.BinarizeBradley5_10x10.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
BinarizeFixed(di byte)
Convertire facilmente l’immagine in un formato binario utilizzando un limite predefinitoIdeale per gli sviluppatori che cercano di semplificare l’immagineelaborazione dei compiti segmentando l’immagine in componenti anteriori e di sfondoin base ai livelli di intensità specificati.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Se il valore grigio corrispondente di un pixel è superiore al limite, un valore di255 sarà assegnato a esso, 0 altrimenti.
Examples
L’esempio seguente binarisce un’immagine DICOM con il limite predefinito. immagini binarie contengono solo 2 colori - nero e bianco.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)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.
dicomImage.BinarizeFixed(127);
dicomImage.Save(dir + "sample.BinarizeFixed.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
BinarizeOtsu()
Applicare il margine Otsu per binarire l’immagine, determinando automaticamente il massimovalore di soglia basato sull’istogramma dell’immagine. perfetto per gli sviluppatori che cercanoUn metodo affidabile per segmentare le immagini in regioni frontali e di sfondo conIntervento manuale minimo.
public override void BinarizeOtsu()
Examples
L’esempio seguente binarisce un’immagine DICOM con soglia Otsu. immagini binarie contengono solo 2 colori - nero e bianco.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Binarize the image with Otsu thresholding.
dicomImage.BinarizeOtsu();
dicomImage.Save(dir + "sample.BinarizeOtsu.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
CacheData()
Questo metodo cache efficacemente i dati, ottimizza le prestazioni e garantisce un accesso rapidoIdeale per gli sviluppatori che cercano di migliorare la velocità e l’efficienza dei loroapplicazioni attraverso la gestione intelligente delle risorse dati.
public override void CacheData()
Examples
L’esempio seguente mostra come nascondere tutte le pagine di un’immagine DICOM.
string dir = "c:\\temp\\";
// Load an image from a DICOM file.
using (Aspose.Imaging.FileFormats.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// This call caches all the pages so that no additional data loading will be performed from the underlying data stream.
image.CacheData();
// Or you can cache the pages individually.
foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage page in image.DicomPages)
{
page.CacheData();
}
}
Crop(Rectangle)
Coltivare l’immagine per rimuovere le aree indesiderate e concentrarsi su contenuti essenziali con questometodo semplice. ideale per gli sviluppatori che cercano di personalizzare la composizione visiva diImmagini, assicurando di trasmettere efficacemente il messaggio desiderato.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
Il rectangolo .
Examples
Il seguente esempio raccoglie un’immagine DICOM. L’area di raccolta viene specificata tramite Aspose.Imaging.Rectangle.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Crop the image. The cropping area is the rectangular central area of the image.
Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(dicomImage.Width / 4, dicomImage.Height / 4, dicomImage.Width / 2, dicomImage.Height / 2);
dicomImage.Crop(area);
// Save the cropped image to PNG
dicomImage.Save(dir + "sample.Crop.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Crop(int, int, int, int)
Adattare l’area di raccolta dell’immagine applicando cambiamenti con questo metodo versatile.Perfetto per gli sviluppatori che hanno bisogno di un controllo accurato del processo di raccolta, assicurandoche i dettagli importanti vengono conservati mentre eliminano gli elementi inutili.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
La sinistra cambia.
rightShift
int
Il giusto cambio.
topShift
int
Il top shift.
bottomShift
int
Il basso cambiamento.
Examples
L’esempio seguente raccoglie un’immagine DICOM. La zona di raccolta è specificata attraverso le margine sinistra, superiore, destra, inferiore.
string dir = @"c:\temp\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Crop again. Set a margin of 10% of the image size.
int horizontalMargin = dicomImage.Width / 10;
int verticalMargin = dicomImage.Height / 10;
dicomImage.Crop(horizontalMargin, horizontalMargin, verticalMargin, verticalMargin);
// Save the cropped image to PNG.
dicomImage.Save(dir + "sample.Crop.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Dither(DitheringMethod, int, IColorPalette)
Migliora l’immagine corrente applicando gli effetti di distrazione con questo semplicePerfetto per gli sviluppatori che mirano ad aggiungere texture e profondità alle immagini,Migliorare la qualità visiva e l’attrazione generale.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Il metodo di diffusione.
bitsCount
int
I bit finali contano per il dithering.
customPalette
IColorPalette
La paletta personalizzata per il dithering.
Examples
L’esempio seguente carica un’immagine DICOM e esegue l’intervallo e il flusso di dithering utilizzando diverse profondità di palette.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)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.
dicomImage.Dither(Aspose.Imaging.DitheringMethod.ThresholdDithering, 4, null);
dicomImage.Save(dir + "sample.ThresholdDithering4.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)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.
dicomImage.Dither(Aspose.Imaging.DitheringMethod.FloydSteinbergDithering, 1, null);
dicomImage.Save(dir + "sample.FloydSteinbergDithering1.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Filter(Rettangolo, FilterOptionsBase)
Migliora senza sforzo le aree specifiche della tua immagine applicando i filtri aQuesto metodo fornisce agli sviluppatori un controllo accuratomanipolazione dell’immagine, consentendo adeguamenti mirati per raggiungere il desideratoEffetti visivi con facilità.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
Il rectangolo .
options
FilterOptionsBase
Le opzioni .
Examples
Il seguente esempio si applica a diversi tipi di filtri per un’immagine DICOM.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Apply a median filter with a rectangle size of 5 to the entire image.
dicomImage.Filter(dicomImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MedianFilterOptions(5));
dicomImage.Save(dir + "sample.MedianFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Apply a bilateral smoothing filter with a kernel size of 5 to the entire image.
dicomImage.Filter(dicomImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.BilateralSmoothingFilterOptions(5));
dicomImage.Save(dir + "sample.BilateralSmoothingFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Apply a Gaussian blur filter with a radius of 5 and a sigma value of 4.0 to the entire image.
dicomImage.Filter(dicomImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussianBlurFilterOptions(5, 4.0));
dicomImage.Save(dir + "sample.GaussianBlurFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Apply a Gauss-Wiener filter with a radius of 5 and a smooth value of 4.0 to the entire image.
dicomImage.Filter(dicomImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussWienerFilterOptions(5, 4.0));
dicomImage.Save(dir + "sample.GaussWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)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.
dicomImage.Filter(dicomImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MotionWienerFilterOptions(10, 1.0, 90.0));
dicomImage.Save(dir + "sample.MotionWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Apply a sharpen filter with a kernel size of 5 and a sigma value of 4.0 to the entire image.
dicomImage.Filter(dicomImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.SharpenFilterOptions(5, 4.0));
dicomImage.Save(dir + "sample.SharpenFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Grayscale()
Trasforma facilmente le immagini nella loro rappresentazione grayscale, semplificando la visualizzazionecompiti di analisi e di elaborazione. perfetto per gli sviluppatori che cercano di migliorare la chiarezza dell’immagine,Ridurre la complessità e facilitare algoritmi grayscale efficientiper diverse applicazioni.
public override void Grayscale()
Examples
L’esempio seguente trasforma un’immagine colorata di DICOM nella sua rappresentazione grayscale. le immagini gray scale sono composte esclusivamente di ombre di grigio e portano solo informazioni di intensità.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
dicomImage.Grayscale();
dicomImage.Save(dir + "sample.Grayscale.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
InsertPage(int)
Inserisci una nuova pagina nella lista delle pagine dell’immagine su un indice specifico con questo intuitivoIdeale per gli sviluppatori che cercano un controllo preciso sull’arredamento delle pagine inImmagini multipagine, assicurando organizzazione e personalizzazione del contenuto dell’immagine.
public DicomPage InsertPage(int pageIndex)
Parameters
pageIndex
int
Indice della pagina.
Returns
Il nuovo creato Aspose.Imaging.FileFormats.Dicom.Page.
Examples
Creare un’immagine multi-pagina di Dicom.
using (DicomImage image = (DicomImage)Image.Create(
new DicomOptions() { Source = new StreamSource(new MemoryStream()) },
100,
100))
{
// Draw something using vector graphics
Graphics graphics = new Graphics(image);
graphics.FillRectangle(new SolidBrush(Color.BlueViolet), image.Bounds);
graphics.FillRectangle(new SolidBrush(Color.Aqua), 10, 20, 50, 20);
graphics.FillEllipse(new SolidBrush(Color.Orange), 30, 50, 70, 30);
// Save the pixels of the drawn image. They are now on the first page of the Dicom image.
int[] pixels = image.LoadArgb32Pixels(image.Bounds);
// Add a few pages after, making them darker
for (int i = 1; i < 5; i++)
{
DicomPage page = image.AddPage();
page.SaveArgb32Pixels(page.Bounds, pixels);
page.AdjustBrightness(i * 30);
}
// Add a few pages in front of the main page, making them brighter
for (int i = 1; i < 5; i++)
{
DicomPage page = image.InsertPage(0);
page.SaveArgb32Pixels(page.Bounds, pixels);
page.AdjustBrightness(-i * 30);
}
// Save the created multi-page image to the output file
image.Save("MultiPage.dcm");
}
Exceptions
pageIndex’ is out of range.
ReleaseManagedResources()
Rilascia le risorse gestite. assicurarsi che nessuna risorsa non gestita sia rilasciata qui, poiché potrebbero essere stategià rilasciato.
protected override void ReleaseManagedResources()
RemovePage(int)
Rimuovere la pagina all’indice specificato dall’elenco della pagina con questo metodo conveniente.Ideale per gli sviluppatori che cercano un controllo preciso sulla gestione delle immagini multipagine,Garantire l’organizzazione e la personalizzazione del contenuto dell’immagine.
public void RemovePage(int pageIndex)
Parameters
pageIndex
int
Indice della pagina.
Exceptions
pageIndex’ is out of range.
Resize(int, int, resizeType)
Adattare la dimensione dell’immagine con questo metodo semplice. ideale per gli sviluppatoricercare di ripristinare in modo dinamico le immagini, assicurandole che si adattino senza sguardo a varicontesti e layout all’interno delle loro applicazioni.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
La nuova larghezza.
newHeight
int
La nuova altezza.
resizeType
ResizeType
Il tipo di ritorno.
Examples
Questo esempio carica un’immagine di DICOM e la ricisce utilizzando diversi metodi di recidiva.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// 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.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// 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.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// 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.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// 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, immagineResizeSettings)
Adattare la dimensione della tua immagine con questo semplice metodo di resuscitazione.ridurre o ampliare l’immagine, questa funzione assicura che le vostre esigenze di rigenerazione siano soddisfatteefficientemente e accuratamente, rendendolo perfetto per gli sviluppatori che cercano rapidamente e facilmenteAdattamenti di dimensioni immagine.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
La nuova larghezza.
newHeight
int
La nuova altezza.
settings
ImageResizeSettings
Il ripristino delle impostazioni.
Examples
Questo esempio carica un’immagine di DICOM e la riproduce utilizzando varie impostazioni di ripristino.
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.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Scale down by 2 times using adaptive resampling.
dicomImage.Resize(image.Width / 2, image.Height / 2, resizeSettings);
// Save to PNG
dicomImage.Save(dir + "downsample.adaptive.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
ResizeHeightProportionally(Integrazione, ResizeType)
Adattare l’altezza dell’immagine mantenendo il suo rapporto di aspetto con questoMetodo user-friendly. perfetto per gli sviluppatori che cercano di riprodurre dinamicamente le immaginimantenendo le loro proporzioni, assicurando la visualizzazione ottimale e l’usonelle loro applicazioni.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
La nuova altezza.
resizeType
ResizeType
Tipo di ritorno.
Examples
Questo esempio carica un’immagine DICOM e la riproduce proporzionalmente utilizzando vari metodi di ripresa. Solo l’altezza viene specificata, la larghezza viene calcolata automaticamente.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// 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.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// 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.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// 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.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// 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)
Ideale per gli sviluppatori che cercano di adattare proporzionalmente le dimensioni dell’immagine, garantire la coerenza e preservare le proporzioni del contenuto originale.La resisione proporzionale riprenderà ciascun quadro in base alla proporzione di newWidth’/width e
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
La nuova larghezza.
newHeight
int
La nuova altezza.
resizeType
ResizeType
Il tipo di ritorno.
ResizeWidthProportionally(Integrazione, ResizeType)
Adattare la larghezza dell’immagine mantenendo il suo rapporto di aspetto con questo convenienteIdeale per gli sviluppatori che cercano di riprodurre le immagini in modo proporzionato, assicurandorisultati consistenti e visivamente attraenti in diversi ambienti di visualizzazione.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
La nuova larghezza.
resizeType
ResizeType
Tipo di ritorno.
Examples
Questo esempio carica un’immagine DICOM e la riproduce proporzionalmente utilizzando vari metodi di ripresa. Solo la larghezza è specificata, l’altezza viene calcolata automaticamente.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// 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.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// 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.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// 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.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// 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(Flotta, Bool, Colore)
Rota l’immagine intorno al suo centro con questo metodo conveniente. ideale per gli sviluppatoricercare di adattare dinamicamente l’orientamento dell’immagine, assicurando la presentazione ottimale eallineamento nelle loro applicazioni.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
L’angolo di rotazione in gradi. valori positivi gireranno in orologio.
resizeProportionally
bool
se impostato a ’true’ avrai cambiato la dimensione dell’immagine in base alle proiezioni rettangoli rotate (punti corni) in altri casi che lasciano le dimensioni non toccate e solointerni i contenuti di immagine sono rotati.
backgroundColor
Color
Il colore del background.
Examples
Questo esempio mostra come girare tutte le pagine di un’immagine DICOM e salvarle tutte in una immagine TIFF multi-frame.
string dir = "c:\\temp\\";
// Load a DICOM image from a file stream.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "multiframe.dicom"))
{
using (Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = new Aspose.Imaging.FileFormats.Dicom.DicomImage(stream))
{
// Rotate the image around the center by 60 degrees clockwise.
// Use gray as the background color.
dicomImage.Rotate(60, true, Aspose.Imaging.Color.Gray);
Aspose.Imaging.ImageOptions.TiffOptions createOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
createOptions.Compression = Aspose.Imaging.FileFormats.Tiff.Enums.TiffCompressions.Deflate;
// Note that if the image is colorful, it will be automatically converted to the grayscale format according to the options below
createOptions.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.MinIsBlack;
createOptions.BitsPerSample = new ushort[] { 8 };
// Create an array of TIFF frames.
// The number of the frames is equal to the number of the DJVU pages.
Aspose.Imaging.FileFormats.Tiff.TiffFrame[] tiffFrames = new Aspose.Imaging.FileFormats.Tiff.TiffFrame[dicomImage.DicomPages.Length];
// Save each page as an individual TIFF frame.
foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage dicomPage in dicomImage.DicomPages)
{
// Create a TIFF frame based on the DICOM page.
tiffFrames[dicomPage.Index] = new Aspose.Imaging.FileFormats.Tiff.TiffFrame(dicomPage, createOptions);
}
// Compose a TIFF image from the frames.
using (Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = new Aspose.Imaging.FileFormats.Tiff.TiffImage(tiffFrames))
{
// Save to a file.
tiffImage.Save(dir + "multiframe.tif");
}
}
}
RotateFlip(RotateFlipType)
Facilmente manipolare il quadro attivo rotando, flipping o eseguendo entrambe le azionicontemporaneamente con questo metodo semplice. ideale per gli sviluppatori che hanno bisogno diadattare dinamicamente l’orientamento di determinati quadri all’interno delle loro sequenze d’immagine,Assicurare la presentazione e l’allineamento ottimali.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Il tipo di flip rotato.
Examples
Questo esempio carica un’immagine DICOM, la girerà a 90 gradi in modo orizzontale e opzionale flips la immagine horizontalmente e/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.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
image.RotateFlip(rotateFlipType);
image.Save(dir + "sample." + rotateFlipType + ".png", new Aspose.Imaging.ImageOptions.PngOptions());
}
}
Save(Stream, ImmaginiOpzioniBase, Rectangle)
Salva facilmente i tuoi dati di immagine in un flusso specifico nel formato file desideratoSe si sta lavorando con JPEG, PNG o un altro formato,Questa funzione assicura che i tuoi dati di immagine siano salvati in modo efficiente e accurato,renderlo ideale per gli sviluppatori che cercano di semplificare i loro processi di archiviazione dei file.
public override void Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)
Parameters
stream
Stream
Il flusso per salvare i dati dell’immagine.
optionsBase
ImageOptionsBase
Le opzioni di risparmio.
boundsRectangle
Rectangle
L’immagine di destinazione limita il rettangolo. impostare il rettangolo vuoto per utilizzare i limiti sorgente.
Examples
L’esempio seguente carica un’immagine DICOM da un file, quindi salva l’ immagine in un flusso di file PNG.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.ImageOptions.PngOptions saveOptions = new Aspose.Imaging.ImageOptions.PngOptions();
Aspose.Imaging.Rectangle bounds = new Aspose.Imaging.Rectangle(0, 0, image.Width / 2, image.Height / 2);
using (System.IO.Stream outputStream = System.IO.File.Open(dir + "output.png", System.IO.FileMode.Create))
{
// Save the upper-left quarter of the image to a file stream.
image.Save(outputStream, saveOptions, bounds);
}
}
SaveAll(String, ImmagineOptionsBase)
Conservare i dati dell’oggetto salvatelo al file designato (indicatore + nome del file)posizione insieme al formato di file specificato e le opzioni. ideale per gli sviluppatori che cercano dimemorizzare in modo sicuro i dati in diversi formati, mantenendo la flessibilità e il controlloParametri di risparmio.
public void SaveAll(string filePath, ImageOptionsBase options)
Parameters
filePath
string
Il percorso del file.
options
ImageOptionsBase
Le opzioni .
SaveData(Stream)
Salva i dati.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Il flusso per salvare i dati.
SetResolution(Il doppio, il doppio)
Adattare la risoluzione di questo Aspose.Imaging.RasterImage con precisione utilizzando questometodo semplice. ideale per gli sviluppatori che cercano di adattare la risoluzione dell’immagine arequisiti specifici, assicurando la qualità ottimale della visualizzazione e la gestione della dimensione del file.
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
La risoluzione orizzontale, in punti per pollice, del Aspose.Imaging.RasterImage.
dpiY
double
La risoluzione verticale, in punti per pollice, del Aspose.Imaging.RasterImage.
UpdateDimensions(di int, int)
Aggiornare le dimensioni dell’immagine.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
La nuova larghezza dell’immagine.
newHeight
int
L’altezza della nuova immagine.