Class DicomImage

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à

DicomPage

Exceptions

DicomImageException

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à

int

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à

FileFormat

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à

DicomImageInfo

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à

bool

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à

int

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

ArgumentNullException

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

DicomPage

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

DicomPage

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

ArgumentOutOfRangeException

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

ArgumentOutOfRangeException

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 newHeight’ / height.

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.

 Italiano