Class DicomImage
Der Name: Aspose.Imaging.FileFormats.Dicom Versammlung: Aspose.Imaging.dll (25.4.0)
Diese Klasse implementiert digitale Bildung und Kommunikation in der Medizin(DICOM) Raster Bildformat unterstützt und bietet eine umfassende Lösung fürVerarbeitung von DICOM-Bilder mit Genauigkeit und Flexibilität.die Bildseiten manipulieren, einschließlich Aktivitäten, um Seiten zu erhalten, hinzuzufügen oder zu entfernen, unddie standardmäßigen und aktiven Seiten kontrollieren. mit der Fähigkeit, mit alpha-Kanälen zu arbeiten,XMP-Metadaten eingebettet, resize, rotate, crop, binarize, anpassen, filtern anzuwenden,und in andere Raster-Formate konvertieren. Diese API ermöglicht Entwicklern,DICOM Bilder effizient, während die verschiedenen Anwendungsanforderungen inMedizinische Bildkontexte.
[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
Vererbte Mitglieder
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
ndern Sie den Farbtyp in der DICOM-Kompression.
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions { ColorType = ColorType.Grayscale8Bit };
inputImage.Save("original_8Bit.dcm", options);
}
Verwenden Sie RLE-Kompression im DICOM-Bild.
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);
}
Verwenden Sie JPEG 2000 Kompression in DICOM Bild.
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);
}
Verwenden Sie JPEG-Kompression im DICOM-Bild.
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);
}
Dieses Beispiel zeigt, wie man ein DICOM-Bild aus einem Datei-Stream laden kann.
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());
}
}
}
Erstellen Sie ein Multi-Page-Dicom-Bild.
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(DICOMOptions, int, int)
Initialisieren Sie eine frische Instanz der DicomImage-Klasse mit diesemKonstruktor, mit dicomOptions Parameter. Perfect für Entwickler suchenUm in Aspose.Imaging.FileFormats.Dicom.DicomImage Objekte schnell und effizient in ihren Projekten zu tauchen.
public DicomImage(DicomOptions dicomOptions, int width, int height)
Parameters
dicomOptions
DicomOptions
Die dicom Optionen.
width
int
Die Breite.
height
int
Die Höhe.
DicomImage(Stream und LoadOptions)
Starten Sie eine neue Instanz der DicomImage-Klasse glatt, indem Sie einen Strom undLadeOptionen Parameter in diesem Konstruktor. Ideal für Entwickler, die sich wünschen, zu startenArbeiten mit Aspose.Imaging.FileFormats.Dicom.DicomImage Objekte schnell und effektiv in ihren Projekten.
public DicomImage(Stream stream, LoadOptions loadOptions)
Parameters
stream
Stream
Der Strom.
loadOptions
LoadOptions
Die Lastoptionen.
Examples
Dieses Beispiel zeigt, wie man ein DICOM-Bild aus einem Dateistrom laden kann, um innerhalb der angegebenen Speichergrenze zu bleiben.
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)
Erstellen Sie eine neue Instanz der DicomImage-Klasse, indem Sie einen Stream-Parameter verwendenPerfekt für Entwickler, die auf der Suche nach einer effizienten Art und Weise, um zu initialisierenAspose.Imaging.FileFormats.Dicom.DicomImage Objekte aus bestehenden Datenströmen in ihren Projekten.
public DicomImage(Stream stream)
Parameters
stream
Stream
Der Strom.
Examples
Dieses Beispiel zeigt, wie man ein DICOM-Bild aus einem Datei-Stream laden kann.
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
Verwaltung der aktiven Seite des Bildes mit dieser intuitiven Eigenschaft. Ideal für Entwicklerdynamischer Wechsel zwischen Seiten innerhalb von mehreren Seitenbildern, die effizient gewährleistenNavigation und Verarbeitung.
public DicomPage ActivePage { get; set; }
Eigentumswert
Exceptions
Die aktive Seite kann nicht eingestellt werden, da sie zu einem anderen Bild gehört.
ActivePageIndex
Wiederherstellen Sie den Index der aktiven Seite mit dieser intuitiven Eigenschaft.Ideal für Entwickler, die einen schnellen Zugang zum aktuellen Seitenindex innerhalb von mehreren Seiten suchenBilder, die eine effektive Navigation und Verarbeitung gewährleisten.
public int ActivePageIndex { get; }
Eigentumswert
DicomPages
Zugriff auf die Seiten des Bildes mit dieser intuitiven Eigenschaft. Ideal für Entwicklerversuchen, mit einzelnen Seiten innerhalb des Bildes zu interagieren und sicherzustellen, dassNavigation und Manipulation.
public DicomPage[] DicomPages { get; }
Eigentumswert
DicomPage [][]
FileFormat
Wiederherstellen Sie den Dateiformatwert mit dieser intuitiven Eigenschaft.Entwickler, die einen schnellen Zugang zum Format der Bilddatei erfordern, um eine effizienteVerarbeitung und Verarbeitung basierend auf der Dateitype.
public override FileFormat FileFormat { get; }
Eigentumswert
FileInfo
Erholen Sie wertvolle Headerinformationen aus dem DICOM-Datei mit diesemintuitive Eigenschaft. Ideal für Entwickler, die einen schnellen Zugang zu wesentlichen Details suchenin der DICOM-Datei eingekapsuliert, um eine effiziente Datenekstraktion und Analyse zu gewährleisten.
public DicomImageInfo FileInfo { get; }
Eigentumswert
HasAlpha
Entdecken Sie, ob das Bild mit diesem intuitiven Alpha-Kanal anstrengend verfügtIdeal für Entwickler, die feststellen möchten, ob das Bild Transparenz enthältInformationen, die eine genaue Verarbeitung von Alpha-Kanal-Daten in Bildverarbeitung Aufgaben gewährleisten.
public override bool HasAlpha { get; }
Eigentumswert
PageCount
Wiederherstellen Sie die Gesamtzahl der Seiten des Bildes mit dieser intuitiven Eigenschaft.Entwickler, die einen schnellen Zugriff auf die Anzahl der Seiten innerhalb eines Bildes suchen, gewährleistenEffiziente Navigation und Management.
public override int PageCount { get; }
Eigentumswert
Pages
Zugriff auf die Seiten des Bildes mit dieser intuitiven Eigenschaft. Ideal für Entwicklerversuchen, mit den einzelnen Seiten innerhalb des Bildes zu interagieren und sicherzustellen, dass die NavigationUnd die Manipulation.
public override Image[] Pages { get; }
Eigentumswert
Image [][]
Methods
AddPage(RasterImage)
Erweitern Sie Ihre Bilderkollektion, indem Sie eine neue Seite mit dieser intuitiven Methode hinzufügen.Ideal für Entwickler, die auf dynamische Weise Seiten an mehrseitige Bilder hinzufügen möchten,sicherzustellen, dass Bildgehalt unbequeme Erweiterung und Organisation gewährleistet wird.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
Die Seite zu hinzufügen.
Exceptions
page’ is null.
AddPage()
Fügen Sie eine neue Seite am Ende der Seiteliste des Bildes mit dieser einfachen Methode hinzu.Ideal für Entwickler, die dynamisch mehrseitige Bilder erweitern möchten, um sicherzustellen, dass sie unschlagbar sindIntegration und Organisation von Image-Inhalt.
public DicomPage AddPage()
Returns
Die neu erstellt Aspose.Imaging.FileFormats.Dicom.DicomPage.
Examples
Erstellen Sie ein Multi-Page-Dicom-Bild.
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)
Verbessern Sie die Bildleuchtung durch die Anpassung der brightness", eine aparameterisierte Methode, die Entwicklern erlaubt, die Bildleuchtung finst zu tun.Diese benutzerfreundliche Funktion ermöglicht Entwicklern, die Bildleuchtung unermüdlich zu manipulieren, bietet Flexibilität und Kontrolle über die visuelle Ästhetik.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Brightness Wert ist.
Examples
Das folgende Beispiel führt die Glanzkorrektur eines DICOM-Bildes durch.
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(Flotte)
Verbessern Sie Aspose.Imaging.Image Kontrast mit dieser benutzerfreundlichen Methode,die die Unterschiede zwischen Licht und Dunkelflächen anpassen. Verbesserung der visuellen Klarheit unddefiniert unerlässlich, die Entwickler mit intuitiver Kontrolle überBildkontrast für eine optimale Renderung.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Kontrastwert (in Range [-100; 100])
Examples
Das folgende Beispiel führt eine Kontrastkorrektur eines DICOM-Bildes durch.
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(Flotte)
Verbesserung der Bildqualität und Anpassung mit Gamma Korrektur, eine leistungsfähige TechnikPerfekt für Entwickler, die das Bild optimieren möchtenpräsentieren, die Farbbalance anpassen und sicherzustellen, dass die verschiedenenGeräte und Umgebungen.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma für rote, grüne und blaue Kanäle Coefficient
Examples
Das folgende Beispiel führt zu einer Gamma Korrektur eines DICOM-Bildes.
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(Flotte, Flotte und Flotte)
Erreichen Sie genaue Farbänderungen, indem Sie die Gamma-Korrektur unabhängig anwendenauf die roten, grünen und blauen Komponenten eines Bildes. Diese Methode gewährleistet die GenauigkeitFarbbalance und optimale visuelle Leistung, Catering für Entwickler, die nach Granulär suchenKontrolle über Bildrenderung und Farbenauigkeit.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma für den roten Kanalkoeffizient
gammaGreen
float
Gamma für Grünkanalkoeffizient
gammaBlue
float
Gamma für Blue Channel Coefficient
Examples
Das folgende Beispiel führt eine Gamma Korrektur eines DICOM-Bildes durch, das verschiedene Koeffizienten für Farbkomponenten anwendet.
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(Doppelt, Int)
Binarisieren Sie Bilder mit Bradley’s adaptive Frontierung-Algorithmus, die integriertBildgrenze für verbesserte Leistung. Ideal für Entwickler, dieAutomatisch segmentieren Sie Bilder auf der Grundlage lokaler Variationen in der Beleuchtung,genaue Objektdetektion und Extraktion unter unterschiedlichen Bedingungen der Beleuchtung.
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Der Lichtunterschied zwischen Pixel und dem Durchschnitt eines Pixelfensters s x sZentralisieren Sie sich um diesen Pixel.
windowSize
int
Die Größe des s x s Fensters von Pixeln, die um diesen Pixel zentriert sind
Examples
Das folgende Beispiel binarisiert ein DICOM-Bild mit Bradley’s adaptive Frontierung-Algorithmus mit der angegebenen Fenstergröße.
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(byte)
Einfach umwandeln Sie das Bild in ein binäres Format mit einem vordefinierten Grenzwertmit dieser einfachen Methode. Ideal für Entwickler, die das Bild vereinfachen möchtenVerarbeitung von Aufgaben durch Segmentation des Bildes in Vor- und HintergrundkomponentenBasierend auf festgelegten Intensitätsniveaus.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Wenn der entsprechende graue Wert eines Pixels größer ist als der Grenzwert,255 wird dazu zugeordnet, 0 anders.
Examples
Das folgende Beispiel binarisiert ein DICOM-Bild mit der vordefinierten Grenze. Binarisierte Bilder enthalten nur 2 Farben - schwarz und wei.
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()
Anwenden Sie Otsu-Grenze, um das Bild zu binarisieren und automatisch die optimaleGrenzwerte basierend auf dem Histogram des Bildes. Perfekt für Entwickler, die sucheneine zuverlässige Methode zur Segmentierung von Bildern in Vor- und Hintergrundregionen mitMinimale manuelle Eingriffe.
public override void BinarizeOtsu()
Examples
Das folgende Beispiel binarisiert ein DICOM-Bild mit Otsu-Brand. Binarisierte Bilder enthalten nur 2 Farben - schwarz und wei.
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()
Diese Methode cachet Daten effizient, optimiert die Leistung und gewährleistet schneller ZugriffIdeal für Entwickler, die die Geschwindigkeit und Effizienz ihrerAnwendungen durch intelligente Verwaltung von Datenressourcen.
public override void CacheData()
Examples
Das folgende Beispiel zeigt, wie man alle Seiten eines DICOM-Bildes versteckt.
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)
Pflanzen Sie das Bild, um unerwünschte Bereiche zu entfernen und sich auf wesentliche Inhalte mit diesemIdeal für Entwickler, die die visuelle Zusammensetzung derBilder, um sicherzustellen, dass sie die gewünschte Nachricht effektiv übertragen.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
Die rechte Ecke.
Examples
Das folgende Beispiel erzeugt ein DICOM-Bild. Die Erntefläche wird über Aspose.Imaging.Rectangle angegeben.
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)
Anpassen Sie das Grasgebiet des Bildes, indem Sie Schwankungen mit dieser vielseitigen Methode anwenden.Perfekt für Entwickler, die eine genaue Kontrolle über den Ernteprozess benötigen, umdass wichtige Details beibehalten werden und unnötige Elemente beseitigen.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
Die Linke wechseln.
rightShift
int
Der richtige Wandel.
topShift
int
Der Top Shift.
bottomShift
int
Der unteren Wandel.
Examples
Das folgende Beispiel erzeugt ein DICOM-Bild. Die Erntefläche wird über die linken, oberen, rechten, unteren Margen angegeben.
string dir = @"c:\temp\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Crop again. Set a margin of 10% of the image size.
int horizontalMargin = dicomImage.Width / 10;
int verticalMargin = dicomImage.Height / 10;
dicomImage.Crop(horizontalMargin, horizontalMargin, verticalMargin, verticalMargin);
// Save the cropped image to PNG.
dicomImage.Save(dir + "sample.Crop.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Dither(DitheringMethod, int, IColorPalette)
Verbessern Sie das aktuelle Bild, indem Sie Dithering-Effekte mit diesem einfachenPerfekt für Entwickler, die Textur und Tiefe an Bilder hinzufügen möchten,Verbessern Sie Ihre visuelle Qualität und allgemeine Attraktion.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Die Dithering Methode.
bitsCount
int
Die letzten Bits zählen für Dithering.
customPalette
IColorPalette
Die gewöhnliche Palette für Dithering.
Examples
Das folgende Beispiel laden ein DICOM-Bild auf und führt mit unterschiedlichen Palettentiefen die Grenz- und Flöde-Dithering durch.
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)
Effektiv verbessern Sie spezifische Bereiche Ihres Bildes durch die Anwendung von Filtern auf bestimmteDiese Methode bietet Entwicklern eine genaue Kontrolle überBildmanipulation, die gezielte Anpassungen ermöglicht, die gewünschtenvisuelle Effekte mit Leichtigkeit.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
Die rechte Ecke.
options
FilterOptionsBase
Die Optionen.
Examples
Das folgende Beispiel gilt für verschiedene Arten von Filtern für ein DICOM-Bild.
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()
Einfach Bilder in ihre grayscale Repräsentation umwandeln, visuelle VereinfachungAnalyse und Verarbeitung Aufgaben. Perfekt für Entwickler, die die Klarheit des Bildes verbessern möchten,Verringerung der Komplexität und Erleichterung effizienter Grayscale-basierter Algorithmenfür verschiedene Anwendungen.
public override void Grayscale()
Examples
Das folgende Beispiel verwandelt ein farbiges DICOM-Bild in seine grayscale-Repräsentation. Grayscale-Bildungen bestehen ausschließlich aus grauen Schatten und tragen nur Intensitätsinformationen.
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)
Einfügen Sie eine neue Seite in die Seiteliste des Bildes auf einem angegebenen Index mit diesem intuitivenIdeal für Entwickler, die eine genaue Kontrolle über die Ordnung der Seiten inMehrseitenbildern, die eine unberührte Organisation und Anpassung von Bildgehalt gewährleisten.
public DicomPage InsertPage(int pageIndex)
Parameters
pageIndex
int
Index der Seite.
Returns
Die neu erstellt Aspose.Imaging.FileFormats.Dicom.DicomPage.
Examples
Erstellen Sie ein Multi-Page-Dicom-Bild.
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()
Stellen Sie sicher, dass keine nicht verwalteten Ressourcen hier veröffentlicht werden, da sie möglicherweisebereits freigelassen.
protected override void ReleaseManagedResources()
RemovePage(Int)
Entfernen Sie die Seite auf dem angegebenen Index aus der Seiteliste mit dieser bequemen Methode.Ideal für Entwickler, die eine genaue Kontrolle über die Verwaltung von mehrseitigen Bildern suchen,sicherzustellen, dass die Organisation und Anpassung von Bildgehalt unbequeme ist.
public void RemovePage(int pageIndex)
Parameters
pageIndex
int
Index der Seite.
Exceptions
pageIndex’ is out of range.
Resize(int, int, ResizeType)
Ändern Sie die Größe des Bildes mit dieser einfachen Methode. Ideal für EntwicklerSie suchen, um die Bilder dynamisch zu resizieren, um sicherzustellen, dass sie sich in verschiedeneKontexte und Layouts innerhalb ihrer Anwendungen.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Die neue Breite.
newHeight
int
Die neue Höhe.
resizeType
ResizeType
Die Resize Art.
Examples
Dieses Beispiel laden ein DICOM-Bild auf und resisiert es mit verschiedenen Resisierungsmethoden.
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)
Ändern Sie die Größe Ihres Bildes mit dieser einfachen Resetmethode.Vergrößern oder vergrößern Sie Ihr Bild, diese Funktion sorgt dafür, dass Ihre Wiederherstellungsbedürfnisse erfüllt werdeneffizient und genau, um es perfekt für Entwickler zu machen, die schnell und einfach suchenBildgröße Anpassungen.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
Die neue Breite.
newHeight
int
Die neue Höhe.
settings
ImageResizeSettings
Die Resize Einstellungen.
Examples
Dieses Beispiel laden ein DICOM-Bild auf und resiziert es mit verschiedenen Resizing-Einstellungen.
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ückschlag, Rückschlag)
Anpassen Sie die Höhe des Bildes, während Ihr Aspektverhältnis mit diesemBenutzerfreundliche Methode. Perfect für Entwickler, die auf dynamische Weise Bilder resizieren möchtenwährend ihre Proportionen beibehalten, optimale Aussicht und Gebrauchsfähigkeit gewährleistenin ihren Anwendungen.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
Die neue Höhe.
resizeType
ResizeType
Typ der Resize.
Examples
Dieses Beispiel laden ein DICOM-Bild auf und resisiert es verhältnismäßig mit verschiedenen Resisierungsmethoden. Nur die Höhe wird angegeben, die Breite wird automatisch berechnet.
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 für Entwickler, die die Bilddimensionen verhältnismäßig anpassen, die Konsistenz gewährleisten und die Proportionen des ursprünglichen Inhalts bewahren möchten.Die verhältnismäßige Resize wird jedes Rahmen nach dem Verhältnis von newWidth’/width und
newHeight’/height resize.
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
Die neue Breite.
newHeight
int
Die neue Höhe.
resizeType
ResizeType
Die Resize Art.
ResizeWidthProportionally(Rückschlag, Rückschlag)
Anpassen Sie die Breite des Bildes, während Ihr Aspektverhältnis mit diesem bequemenIdeal für Entwickler, die nach verhältnismäßiger Wiederherstellung der Bilder suchen,Konsistente und visuell attraktive Ergebnisse in verschiedenen Display-Umgebungen.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
Die neue Breite.
resizeType
ResizeType
Typ der Resize.
Examples
Dieses Beispiel laden ein DICOM-Bild auf und resisiert es verhältnismäßig mit verschiedenen Resisierungsmethoden. Nur die Breite wird angegeben, die Höhe wird automatisch berechnet.
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, Farbe)
Drehen Sie das Bild um sein Zentrum mit dieser bequemen Methode. Ideal für Entwicklerdie Bildorientierung dynamisch anpassen und eine optimale Präsentation gewährleisten undAnpassung innerhalb ihrer Anwendungen.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
Der Rotationswinkel in Grad. Positive Werte werden die Uhr drehen.
resizeProportionally
bool
Wenn Sie auf ’true’ festgelegt sind, ändert sich Ihre Bildgröße nach rotierten rektangeln (Kornpunkte) Projektionen in anderen Fällen, die Dimensionen unberührt lassen und nur interne Bildgehalte rotierten.
backgroundColor
Color
Farbe des Hintergrunds.
Examples
Dieses Beispiel zeigt, wie man alle Seiten eines DICOM-Bildes dreht und alle zu einem TIFF-Bild mit mehreren Framen speichert.
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)
Handhaben Sie den aktiven Rahmen leicht, indem Sie rotieren, fliegen oder beide Aktionen durchführengleichzeitig mit dieser einfachen Methode. Ideal für Entwickler, diedynamisch die Orientierung bestimmter Frame innerhalb ihrer Bildsequenzen anpassen,Optimale Präsentation und Anpassung gewährleisten.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Der Rotate Flip Typ.
Examples
Dieses Beispiel ladet ein DICOM-Bild, dreht es um 90 Grad Uhr und flipt optionell das Bild horizontaler und/oder vertikalerweise.
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, ImageOptionsBase, Rectangle)
Einfach speichern Sie Ihre Bilddaten in einen angegebenen Stream im gewünschten DateiformatOb Sie mit JPEG, PNG oder einem anderen Format arbeiten,Diese Funktion sorgt dafür, dass Ihre Bilddaten effizient und genau gespeichert werden,Das macht es ideal für Entwickler, die ihre File-Save-Prozesse rasieren möchten.
public override void Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)
Parameters
stream
Stream
Der Stream, um die Daten des Bildes zu speichern.
optionsBase
ImageOptionsBase
Die sparen Optionen.
boundsRectangle
Rectangle
Der Zielbild begrenzt rektangle. Set die leere rektangle für die Verwendung der Quellgrenzen.
Examples
Das folgende Beispiel laden ein DICOM-Bild aus einem Datei herunter und speichert dann das Bild in einen PNG-Datei-Stream.
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, ImageOptionsBase)
Speichern Sie die Daten des Objekts, indem Sie sie in die angegebenen Datei speichern (Indexer + Dateiname)Lage zusammen mit angegebenem Dateiformat und Optionen. Ideal für Entwickler, dieSichere Speicherung von Daten in verschiedenen Formaten, während Flexibilität und Kontrolle überSparen der Parameter.
public void SaveAll(string filePath, ImageOptionsBase options)
Parameters
filePath
string
Der Dateiweg.
options
ImageOptionsBase
Die Optionen.
SaveData(Stream)
Sparen Sie die Daten.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Der Stream, um die Daten zu speichern.
SetResolution(Doppel, Doppel)
Anpassen Sie die Auflösung dieses Aspose.Imaging.RasterImage mit Präzision mit diesemIdeal für Entwickler, die die Bildresolution anpassen möchtenspezifische Anforderungen, die optimale Displayqualität und Dateigröße-Management gewährleisten.
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
Die horizontale Auflösung, in Punkten pro Zoll, des Aspose.Imaging.RasterImage.
dpiY
double
Die vertikale Auflösung, in Punkten pro Zoll, des Aspose.Imaging.RasterImage.
UpdateDimensions(und int, int)
Aktualisieren Sie die Bilddimensionen.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
Die neue Bildweite.
newHeight
int
Die neue Bildhöhe.