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
Exceptions
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
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
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
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
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
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
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
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
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
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
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
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.