Class DicomImage

Class DicomImage

Numele spaţiului: Aspose.Imaging.FileFormats.Dicom Asamblare: Aspose.Imaging.dll (25.4.0)

Această clasă implementează imaginea digitală și comunicațiile în medicină(DICOM) susține formatul de imagine raster și oferă o soluție cuprinzătoare pentruprocesarea imaginilor DICOM cu precizie și flexibilitate.manipularea paginilor imaginii, inclusiv operațiunile de a obține, adăuga sau îndepărta pagini; șicontrolul paginilor implicite și active. cu capacitatea de a lucra cu canalele alfa,încorporate metadate XMP, reîncărcare, rotație, cultură, binarizare, ajustare, aplicați filtre,și convertează în alte formate de raster. Această API permite dezvoltatorilor să gestionezeDICOM imagini în mod eficient, în timp ce îndeplinesc cerințele diverse de aplicare înContextul imaginii medicale.

[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

Membrii moștenitori

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

Schimbați tipul de culoare în compresia DICOM.

using (var inputImage = Image.Load("original.jpg"))
                                                  {
                                                      var options = new DicomOptions { ColorType = ColorType.Grayscale8Bit };

                                                      inputImage.Save("original_8Bit.dcm", options);
                                                  }

Utilizați compresia RLE în imaginea 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);
                                              }

Utilizați compresia JPEG 2000 în imaginea 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);
                                                    }

Utilizați compresia JPEG în imaginea 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);
                                               }

Acest exemplu arată cum să încărcați o imagine DICOM dintr-un flux de fișiere.

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());
                                                                                   }
                                                                               }
                                                                           }

Creați o imagine multi pagini 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(Cuvânt cheie: int, int)

Inițializați o instanță proaspătă a clasei DicomImage fără efort cu acest lucruconstructor, utilizând parametrii dicomOptions. Perfect pentru dezvoltatorii care cautapentru a se scufunda în Aspose.Imaging.FileFormats.Dicom.Scrisoare obiecte rapid și eficient în proiectele lor.

public DicomImage(DicomOptions dicomOptions, int width, int height)

Parameters

dicomOptions DicomOptions

Opţiuni ale dicomului.

width int

în lățime .

height int

înălţime .

DicomImage(Opțiuni, opțiuni de încărcare)

Începeți o nouă instanță a clasei DicomImage cu ușurință prin utilizarea unui flux șiîncărcăturaOpțiuni de parametri în acest constructor. Ideal pentru dezvoltatorii care doresc să înceapăLucrați cu Aspose.Imaging.FileFormats.Dicom.Scrisoarea obiectelor în mod rapid și eficient în proiectele lor.

public DicomImage(Stream stream, LoadOptions loadOptions)

Parameters

stream Stream

şi fluxul .

loadOptions LoadOptions

Opţiunile de încărcare.

Examples

Acest exemplu arată cum să încărcați o imagine DICOM dintr-un flux de fișiere pentru a rămâne în limitele de memorie specificate.

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)

Creați o nouă instanță a clasei DicomImage folosind un parametru de fluxPerfect pentru dezvoltatori care caută o modalitate simplificată de a inițiaAspose.Imaging.FileFormats.Dicom.Considerarea obiectelor din fluxurile de date existente în proiectele lor.

public DicomImage(Stream stream)

Parameters

stream Stream

şi fluxul .

Examples

Acest exemplu arată cum să încărcați o imagine DICOM dintr-un flux de fișiere.

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

Gestionați pagina activă a imaginii cu această proprietate intuitivă. ideal pentru dezvoltatoriÎncercând să se schimbe dinamic între pagini în imagini multi-pagini, asigurând eficiențanavigaţie şi prelucrare.

public DicomPage ActivePage { get; set; }

Valoarea proprietății

DicomPage

Exceptions

DicomImageException

Pagina activă nu poate fi setată, deoarece aparține unei alte imagini.

ActivePageIndex

Returnați indexul paginii active fără efort cu această proprietate intuitivă.Ideal pentru dezvoltatori care caută acces rapid la indexul de pagină curent în cadrul mai multor paginiImagini, asigurând o navigare și procesare eficientă.

public int ActivePageIndex { get; }

Valoarea proprietății

int

DicomPages

Acces la paginile imaginii cu această proprietate intuitivă. ideal pentru dezvoltatoriÎncercând să interacționeze cu paginile individuale în interiorul imaginii, asigurându-se cănavigaţie şi manipulare.

public DicomPage[] DicomPages { get; }

Valoarea proprietății

DicomPage []

FileFormat

Returnați valoarea formatului de fișier fără efort cu această proprietate intuitivă.dezvoltatori care caută acces rapid la formatul fișierului de imagine, asigurând eficiențaprelucrarea și procesarea pe baza tipului de fișier.

public override FileFormat FileFormat { get; }

Valoarea proprietății

FileFormat

FileInfo

Obțineți informații de titlu valoroase din fișierul DICOM fără efort cu acest lucruProprietate intuitivă. ideal pentru dezvoltatori care caută acces rapid la detalii esențialeîncorporat în fișierul DICOM, asigurând extragerea și analiza eficientă a datelor.

public DicomImageInfo FileInfo { get; }

Valoarea proprietății

DicomImageInfo

HasAlpha

Verificați dacă imaginea are un canal alfa fără efort cu această intuitivăIdeal pentru dezvoltatori care caută să determine dacă imaginea conține transparențăinformații, asigurarea gestionării exacte a datelor din canalele alfa în sarcinile de prelucrare a imaginii.

public override bool HasAlpha { get; }

Valoarea proprietății

bool

PageCount

Returnați numărul total de pagini al imaginii cu această proprietate intuitivă.dezvoltatori care caută acces rapid la numărul de pagini din interiorul unei imagini, asigurândNavigare şi management eficient.

public override int PageCount { get; }

Valoarea proprietății

int

Pages

Acces la paginile imaginii cu această proprietate intuitivă. ideal pentru dezvoltatoriÎncercând să interacționeze cu paginile individuale în interiorul imaginii, asigurând navigarea fără firşi de manipulare.

public override Image[] Pages { get; }

Valoarea proprietății

Image []

Methods

AddPage(RasterImage)

Extindeți colecția de imagini adăugând o nouă pagină cu această metodă intuitivă.Ideal pentru dezvoltatorii care caută să adauge dinamic pagini la imagini multi-pagini,asigurarea unei expansiuni si organizarii imediate a continutului imaginii.

public void AddPage(RasterImage page)

Parameters

page RasterImage

Pagina pentru a adăuga.

Exceptions

ArgumentNullException

page’ is null.

AddPage()

Adăugați o nouă pagină la capătul listei de pagini a imaginii cu această metodă simplă.Ideal pentru dezvoltatorii care caută să extindă în mod dinamic imaginile multi-pagini, asigurându-se căintegrarea şi organizarea conţinutului imaginii.

public DicomPage AddPage()

Returns

DicomPage

Noua creație Aspose.Imaging.FileFormats.Dicom.Page.

Examples

Creați o imagine multi pagini 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)

Îmbunătățește luminozitatea imaginii prin ajustarea brightness", o metodă aparameterizată care permite dezvoltatorilor să tune în mod fin luminositatea imaginilor.Această funcție prietenoasă cu utilizatorul îi permite pe dezvoltatori să manipuleze fără îndoială imaginea, oferind flexibilitate și control asupra esteticii vizuale.

public override void AdjustBrightness(int brightness)

Parameters

brightness int

Valori de lumină.

Examples

Următorul exemplu efectuează corectarea luminozității unei imagini 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(float)

Îmbunătățește Aspose.Imaging.Image contrast cu această metodă prietenoasă cu utilizatorul,care ajustează disparitatea dintre zonele luminoase și întunecate. îmbunătățește claritatea vizuală șidefiniție fără efort, oferind dezvoltatorii cu control intuitiv asupracontrastul imaginii pentru o renderizare optimă.

public override void AdjustContrast(float contrast)

Parameters

contrast float

Valoarea contrastului (în interval [-100; 100])

Examples

Următorul exemplu efectuează corecția de contrast a unei imagini 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(float)

Îmbunătățește calitatea imaginii și o ajustează cu corecția gamma, o tehnică puternicăpentru aspectul vizual fin-tuning. Perfect pentru dezvoltatori care doresc să optimizeze imagineaprezentarea, ajustarea echilibrului culorilor și asigurarea unei renderări consecvente între diferiteledispozitivelor şi mediului.

public override void AdjustGamma(float gamma)

Parameters

gamma float

Gama pentru coeficientul canalelor roșii, verzi și albastru

Examples

Următorul exemplu efectuează corecția gamma a unei imagini 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(în float, float, float)

Obțineți ajustări de culoare precise prin aplicarea corectării gamma în mod independentla componentele roșii, verzi și albastru ale unei imagini.Această metodă asigură preciziaechilibrul culorilor și producția vizuală optimă, catering pentru dezvoltatori care caută granulecontrolul renderării imaginii și precizie a culorilor.

public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)

Parameters

gammaRed float

Gama pentru coeficientul canalului roșu

gammaGreen float

Gama pentru coeficientul canalului verde

gammaBlue float

Gamma pentru coeficientul canalului albastru

Examples

Următorul exemplu efectuează corecția gamma a unei imagini DICOM aplicând coeficienți diferiți pentru componentele de culoare.

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(Două ori, int)

Binarizează imagini cu algoritmul adaptiv al lui Bradley, încorporarea integralăecran de imagine pentru performanță îmbunătățită. ideal pentru dezvoltatori care doresc săsegmentarea automată a imaginilor pe baza variațiilor locale în luminozitate, asigurândDetectarea și extracția exactă a obiectului în condiții de iluminare diferite.

public override void BinarizeBradley(double brightnessDifference, int windowSize)

Parameters

brightnessDifference double

Diferența de luminozitate între pixel și medie a unui s x s fereastră de pixeliCentrat în jurul acestui pixel.

windowSize int

Dimensiunea ferestrei s x s a pixelelor centrate în jurul acestui pixel

Examples

Următorul exemplu binarizează o imagine DICOM cu algoritmul adaptiv al lui Bradley cu dimensiunea fereastră specificată. imagini binare conțin doar 2 culori - negru și alb.

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(în byte)

Convertarea ușoară a imaginii într-un format binar folosind un prag predefinitcu această metodă simplă. ideal pentru dezvoltatorii care doresc să simplifice imagineaprocesarea sarcinilor prin segmentarea imaginii în componente frontale și de fundalbazată pe nivelurile de intensitate specificate.

public override void BinarizeFixed(byte threshold)

Parameters

threshold byte

În cazul în care valoarea gri corespunzătoare a unui pixel este mai mare decât pragul, un255 vor fi atribuite acestuia, 0 altfel.

Examples

Următorul exemplu binarizează o imagine DICOM cu pragul predefinit. imagini binare conțin doar 2 culori - negru și alb.

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()

Aplicați pragul Otsu pentru a binariza imaginea, determinând automat optimulvaloarea pragului bazată pe histogramul imaginii. perfect pentru dezvoltatorii care cautăo metodă fiabilă de segmentare a imaginilor în regiunile frontale și de fundal cuIntervenţie manuală minimă.

public override void BinarizeOtsu()

Examples

Următorul exemplu binarizează o imagine DICOM cu marginea Otsu. imagini binare conțin doar 2 culori - negru și alb.

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()

Această metodă cachează în mod eficient datele, optimizează performanța și asigură acces rapidideal pentru dezvoltatorii care caută să îmbunătățească viteza și eficiențaAplicații prin gestionarea inteligentă a resurselor de date.

public override void CacheData()

Examples

Următorul exemplu arată cum să cache toate paginile unei imagini 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)

Crește imaginea pentru a elimina zonele nedorite și se concentrează pe conținutul esențial cu acest lucruideal pentru dezvoltatorii care caută să personalizeze compoziția vizuală aimagini, pentru a se asigura că transmit mesajul dorit în mod eficient.

public override void Crop(Rectangle rectangle)

Parameters

rectangle Rectangle

în rectanglu .

Examples

Următorul exemplu crește o imagine DICOM. zona de creștere este specificată prin 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)

Adăugați zona de creștere a imaginii prin aplicarea schimbărilor cu această metodă versatilă.Ideal pentru dezvoltatori care au nevoie de un control precis asupra procesului de recoltare, asigurândDatele importante sunt păstrate în timp ce elimină elementele inutile.

public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)

Parameters

leftShift int

Schimbarea de stânga.

rightShift int

Schimbarea dreaptă.

topShift int

Cea mai mare schimbare.

bottomShift int

Schimbarea de jos.

Examples

Următorul exemplu crește o imagine DICOM. zona de creștere este specificată prin marginea stângă, superioară, dreaptă, inferioră.

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(DitheringMetodă, int, IColorPalette)

Îmbunătățiți imaginea curentă prin aplicarea efectelor dithering cu acest simpluPerfect pentru dezvoltatorii care doresc să adauge textură și adâncime la imagini,Îmbunătățirea calității vizuale și a atracției generale.

public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)

Parameters

ditheringMethod DitheringMethod

Metoda de depăşire.

bitsCount int

Ultimele bite contează pentru dithering.

customPalette IColorPalette

Paleta obișnuită pentru dithering.

Examples

Următorul exemplu încărcă o imagine DICOM și realizează pragul și fluidul de dithering folosind diferite adâncimi de paletă.

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(Rectangle, FilterOptionsBase)

Îmbunătățiți cu ușurință zonele specifice ale imaginii dvs. prin aplicarea filtrelor laAceastă metodă oferă dezvoltatorilor un control precis asupramanipularea imaginii, permițând ajustărilor țintă să realizeze dorințaEfecte vizuale cu uşurinţă.

public override void Filter(Rectangle rectangle, FilterOptionsBase options)

Parameters

rectangle Rectangle

în rectanglu .

options FilterOptionsBase

ale opţiunilor .

Examples

Următorul exemplu se aplică diferitelor tipuri de filtre pentru o imagine 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()

Transformarea ușoară a imaginilor în reprezentarea lor grayscale, simplificarea vizualăsarcini de analiză și de prelucrare. perfect pentru dezvoltatorii care doresc să îmbunătățească claritatea imaginii,Reduce complexitatea și facilitează algoritmele eficiente bazate pe grayscalepentru diverse aplicaţii.

public override void Grayscale()

Examples

Următorul exemplu transformă o imagine colorată DICOM în reprezentarea sa la grayscale. imagini Grayscal sunt compuse exclusiv din nuanțe de gri și poartă doar informații de intensitate.

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)

Introduceți o nouă pagină în lista de pagini a imaginii la un index specific cu această intuitivăideal pentru dezvoltatorii care caută un control precis asupra aranjamentului paginilor înImagini cu mai multe pagini, asigurând organizarea și personalizarea conținutului imaginii.

public DicomPage InsertPage(int pageIndex)

Parameters

pageIndex int

Indexul paginii.

Returns

DicomPage

Noua creație Aspose.Imaging.FileFormats.Dicom.Page.

Examples

Creați o imagine multi pagini 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()

Eliberează resursele gestionate. asigurați-vă că nu sunt eliberate resurse necontrolate aici, deoarece acestea pot fideja eliberat.

protected override void ReleaseManagedResources()

RemovePage(int)

Eliminați pagina la indexul specificat din lista paginilor cu această metodă convenabilă.Ideal pentru dezvoltatori care caută un control precis asupra gestionării imaginilor cu mai multe pagini,asigurarea organizării și personalizării fără probleme a conținutului imaginii.

public void RemovePage(int pageIndex)

Parameters

pageIndex int

Indexul paginii.

Exceptions

ArgumentOutOfRangeException

pageIndex’ is out of range.

Resize(int, int, resizeType)

Ajustarea dimensiunii imaginii cu această metodă simplă. ideală pentru dezvoltatoricăutând să rezigureze în mod dinamic imaginile, asigurându-se că se potrivesc fără întârziere în diferitecontexte și layout-uri în aplicațiile lor.

public override void Resize(int newWidth, int newHeight, ResizeType resizeType)

Parameters

newWidth int

În noua lățime.

newHeight int

Înălţimea nouă.

resizeType ResizeType

Tipul de rezistenţă.

Examples

Acest exemplu încărcă o imagine DICOM și o resizează folosind diferite metode de resizare.

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, ImageResizeSettings)

Adăugați dimensiunea imaginii dvs. cu această metodă simplă de resetare.Reducerea sau extinderea imaginii, această funcție asigură că nevoile dvs. de resetare sunt îndepliniteeficient și precis, făcând-o perfectă pentru dezvoltatori care caută rapid și ușorAdaptarea dimensiunii imaginii.

public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)

Parameters

newWidth int

În noua lățime.

newHeight int

Înălţimea nouă.

settings ImageResizeSettings

Împreună cu setările de rezistență.

Examples

Acest exemplu încărcă o imagine DICOM și o revizuiesc folosind diferite setări de revizuire.

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(Răspundeți, Răspundeți)

Adăugați înălțimea imaginii, menținând în același timp raportul aspectului cu acestMetoda prietenoasă cu utilizatorul. Perfect pentru dezvoltatorii care caută să rezigureze în mod dinamic imaginileîn timp ce păstrează proporțiile lor, asigurând o afișare optimă și utilizabilitateîn aplicaţiile lor.

public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)

Parameters

newHeight int

Înălţimea nouă.

resizeType ResizeType

Tipul de rezistenţă.

Examples

Acest exemplu încărcă o imagine DICOM și o resizează în mod proporțional folosind diferite metode de resizare. numai înălțimea este specificată, latitudinea este calculată automat.

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)

Ideal pentru dezvoltatorii care caută să ajusteze dimensiunile imaginii în mod proporțional, să asigure coerența și să păstreze proporțiile conținutului original.Rezimarea proporțională va recidiva fiecare cadru în funcție de raportul newWidth’/width și newHeight"/height.

public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)

Parameters

newWidth int

În noua lățime.

newHeight int

Înălţimea nouă.

resizeType ResizeType

Tipul de rezistenţă.

ResizeWidthProportionally(Răspundeți, Răspundeți)

Adăugați lățimea imaginii, menținând în același timp raportul aspectului cu acest lucru convenabilideal pentru dezvoltatorii care caută să redistribuie imagini proporțional, asigurândrezultate consistente și vizual atrăgătoare în diferite medii de afișare.

public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)

Parameters

newWidth int

În noua lățime.

resizeType ResizeType

Tipul de rezistenţă.

Examples

Acest exemplu încărcă o imagine DICOM și o resizează proporțional folosind diferite metode de resizare. numai lățimea este specificată, înălțimii sunt calculate automat.

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(float, bool, culoare)

Rotați imaginea în jurul centrului cu această metodă convenabilă. ideal pentru dezvoltatoriîncercând să ajusteze dinamic orientarea imaginii, asigurând o prezentare optimă șialiniere în aplicaţiile lor.

public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)

Parameters

angle float

Angajul rotativ în grade. valorile pozitive se vor rotati pe oră.

resizeProportionally bool

în cazul în care este setat la ’true’ veți avea dimensiunea imaginii modificate în funcție de rectangle rotate (punctele de coadă) proiecții în alte cazuri care lasă dimensiunile necorespunzătoare și numai interior conținutul de imagini sunt rotat.

backgroundColor Color

Culoarea fundalului.

Examples

Acest exemplu arată cum să rotati toate paginile unei imagini DICOM și să le salvați toate într-o imagine 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)

Manipularea ușoară a cadrului activ prin rotație, flipping sau efectuarea ambelor acțiuniîn același timp cu această metodă simplă. ideal pentru dezvoltatori care au nevoie deajustarea dinamică a orientării cadrelor specifice în secvențele lor de imagine,asigurarea unei prezentări și aliniere optimă.

public override void RotateFlip(RotateFlipType rotateFlipType)

Parameters

rotateFlipType RotateFlipType

Tipul de flip rotat.

Examples

Acest exemplu încărcă o imagine DICOM, o rotează la 90 de grade în mod orar și opțional flipsă imaginea orizontală și (sau) verticală.

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, Opțiuni de imagineBase, Rectangle)

Salvați cu ușurință datele de imagine într-un flux specific în format de fișier doritutilizând această metodă convenabilă. fie că lucrați cu JPEG, PNG sau alt format,Această funcție se asigură că datele dvs. de imagine sunt stocate în mod eficient și precis,făcându-l ideal pentru dezvoltatorii care doresc să-și simplifice procesele de salvare a fișierelor.

public override void Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)

Parameters

stream Stream

Stream pentru a salva datele imaginii la.

optionsBase ImageOptionsBase

Opţiunile de salvare.

boundsRectangle Rectangle

Imaginea de destinație limitează rectangolul. Setarea rectangolului gol pentru a utiliza limitele sursei.

Examples

Următorul exemplu încărcă o imagine DICOM dintr-un fișier, apoi salvează imaginea la un flux de fișiere 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, Opțiuni de bază)

Conservă datele obiectului prin salvare la fișierul desemnat (indexator + nume de fișiere)locație împreună cu format de fișier specificat și opțiuni. ideal pentru dezvoltatori care doresc săstocarea secură a datelor în diferite formate, menținând în același timp flexibilitatea și controlulparametrii de salvare.

public void SaveAll(string filePath, ImageOptionsBase options)

Parameters

filePath string

Calea de fișier.

options ImageOptionsBase

ale opţiunilor .

SaveData(Stream)

salvează datele.

protected override void SaveData(Stream stream)

Parameters

stream Stream

Stream pentru a salva datele la.

SetResolution(dublu, dublu)

Adăugați rezoluția acestui Aspose.Imaging.RasterImage cu precizie folosind acestmetoda simplă. ideal pentru dezvoltatorii care doresc să adapteze rezoluția imaginii lacerințe specifice, asigurând calitatea optimă a afișării și gestionarea dimensiunii fișierului.

public override void SetResolution(double dpiX, double dpiY)

Parameters

dpiX double

Rezoluția orizontală, în puncte pe inch, a Aspose.Imaging.RasterImage.

dpiY double

Rezoluția verticală, în puncte pe inch, a Aspose.Imaging.RasterImage.

UpdateDimensions(int, int)

Actualizează dimensiunile imaginii.

protected override void UpdateDimensions(int newWidth, int newHeight)

Parameters

newWidth int

Noua dimensiune a imaginii.

newHeight int

Înălțimea noii imagini.

 Română