Class DicomImage
De naam: Aspose.Imaging.FileFormats.Dicom Verzameling: Aspose.Imaging.dll (25.4.0)
Deze klas implementeert digitale beeldvorming en communicatie in de geneeskunde(DICOM) ondersteunt het raster beeldformaat en biedt een uitgebreide oplossing voorverwerken van DICOM-beelden met nauwkeurigheid en flexibiliteit.het manipuleren van afbeeldingspagina’s, met inbegrip van de operaties voor het verkrijgen, toevoegen of verwijderen van pagina’s; enbeheer de standaard en actieve pagina’s. met mogelijkheden om te werken met alfa-kanalen,XMP metadata, resize, rotate, crop, binariseren, aanpassen, toepassen van filters,en converteren naar andere raster-formaat. deze API stelt ontwikkelaars in staat om te beherenDICOM beelden effectief terwijl het voldoet aan verschillende toepassingsvereisten inmedische beeldvorming contexten.
[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
Geëerbiede leden
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
Veranderen van kleur in DICOM compressie.
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions { ColorType = ColorType.Grayscale8Bit };
inputImage.Save("original_8Bit.dcm", options);
}
Gebruik RLE compressie in de DICOM-afbeelding.
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);
}
Gebruik JPEG 2000 compressie in DICOM beeld.
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);
}
Gebruik JPEG-compressie in DICOM-afbeelding.
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);
}
Dit voorbeeld laat zien hoe u een DICOM-afbeelding van een bestandstroom kunt laden.
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());
}
}
}
Creëren van een multi-page Dicom beeld.
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(Dicomopties, int en int)
Initialiseren van een verse instantie van de DicomImage-klasse zonder moeite met ditconstructor, met behulp van dicomOptions parameters. Perfect voor ontwikkelaars kijkenom snel en efficiënt in hun projecten in Aspose.Imaging.FileFormats.Dicom.DiomImage objecten te duwen.
public DicomImage(DicomOptions dicomOptions, int width, int height)
Parameters
dicomOptions
DicomOptions
De dicom opties.
width
int
De breedte.
height
int
De hoogte.
DicomImage(Stream, LoadOptions)
Een nieuwe instantie van de DicomImage-klasse lanceren door een stroom enloadOpties parameters in deze constructor. Ideaal voor ontwikkelaars die op zoek zijn naar startwerken met Aspose.Imaging.FileFormats.Dicom.DiomImage objecten snel en effectief in hun projecten.
public DicomImage(Stream stream, LoadOptions loadOptions)
Parameters
stream
Stream
De stroom.
loadOptions
LoadOptions
De lading opties.
Examples
Dit voorbeeld laat zien hoe u een DICOM-afbeelding van een bestandstromen kunt laden om binnen de aangegeven geheugengrenzen te blijven.
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)
Creëer een nieuwe instantie van de DicomImage-klasse met behulp van een stroomparametersPerfect voor ontwikkelaars die op zoek zijn naar een gestroomde manier om te initialiserenAspose.Imaging.FileFormats.Dicom.DiomImage objecten van bestaande gegevensstromen in hun projecten.
public DicomImage(Stream stream)
Parameters
stream
Stream
De stroom.
Examples
Dit voorbeeld laat zien hoe u een DICOM-afbeelding van een bestandstroom kunt laden.
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
Beheer de actieve pagina van het beeld met deze intuïtieve eigenschap. ideaal voor ontwikkelaarsstreven naar dynamisch te schakelen tussen pagina’s binnen multi-pagina afbeeldingen, waardoor efficiëntNavigatie en verwerking.
public DicomPage ActivePage { get; set; }
Eigendomswaarde
Exceptions
De actieve pagina kan niet worden ingesteld omdat het behoort tot een andere afbeelding.
ActivePageIndex
Herstel de index van de actieve pagina moeiteloos met deze intuïtieve eigenschap.Ideaal voor ontwikkelaars die op zoek zijn naar snelle toegang tot de huidige pagina-index binnen meerdere pagina’sbeelden, die een efficiënte navigatie en verwerking garanderen.
public int ActivePageIndex { get; }
Eigendomswaarde
DicomPages
Toegang tot de pagina’s van het beeld met deze intuïtieve eigenschap. Ideaal voor ontwikkelaarsstreven naar interactie met individuele pagina’s binnen de afbeelding, het garanderen van onzekerheidNavigatie en manipulatie.
public DicomPage[] DicomPages { get; }
Eigendomswaarde
DicomPage []
FileFormat
Herstellen van de bestandformaat waarde moeiteloos met deze intuïtieve eigenschap.ontwikkelaars die op zoek zijn naar snelle toegang tot het formaat van het beeldbestand, waardoor efficiëntVerwerking en verwerking op basis van het bestandtype.
public override FileFormat FileFormat { get; }
Eigendomswaarde
FileInfo
Verwijder waardevolle headerinformatie van het DICOM-bestand zonder moeite met ditIdeaal voor ontwikkelaars die op zoek zijn naar snelle toegang tot essentiële detailsgecapsuleerd binnen het DICOM-bestand, waardoor efficiënte data-extractie en analyse wordt gewaarborgd.
public DicomImageInfo FileInfo { get; }
Eigendomswaarde
HasAlpha
Ontdek of de afbeelding een alfa kanaal heeft zonder moeite met deze intuïtieveIdeaal voor ontwikkelaars die willen bepalen of de afbeelding transparantie bevatinformatie, het waarborgen van de nauwkeurige verwerking van alfa-kanaalgegevens in beeldverwerking taken.
public override bool HasAlpha { get; }
Eigendomswaarde
PageCount
Verwijder het totale aantal pagina’s van de afbeelding met deze intuïtieve eigenschap.ontwikkelaars die op zoek zijn naar snelle toegang tot het aantal pagina’s binnen een afbeelding, waarborgenEfficiënte navigatie en management.
public override int PageCount { get; }
Eigendomswaarde
Pages
Toegang tot de pagina’s van het beeld met deze intuïtieve eigenschap. Ideaal voor ontwikkelaarsop zoek naar interactie met individuele pagina’s binnen de afbeelding, waarborgen van onbeperkt navigatieen de manipulatie.
public override Image[] Pages { get; }
Eigendomswaarde
Image []
Methods
AddPage(RasterImage)
Uitbreid uw beeldverzameling door een nieuwe pagina toe te voegen met deze intuïtieve methode.Ideaal voor ontwikkelaars die dynamisch pagina’s willen toevoegen aan meerzijdige afbeeldingen,het waarborgen van onmiddellijke uitbreiding en organisatie van beeldinhoud.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
De pagina om toe te voegen.
Exceptions
page’ is null.
AddPage()
Voeg een nieuwe pagina toe aan het einde van de paginalijst van het beeld met deze eenvoudige methode.Ideaal voor ontwikkelaars die streven naar dynamische uitbreiding van meerdere pagina’s afbeeldingen, waarborgen dat ze onscherp zijnintegratie en organisatie van beeldinhoud.
public DicomPage AddPage()
Returns
De nieuw gecreëerde Aspose.Imaging.FileFormats.Dicom.Page.
Examples
Creëren van een multi-page Dicom beeld.
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)
Verbetert de beeldverlichting met de aanpassing van brightness’, een geparameterde methode die ontwikkelaars in staat stelt om de helderheid van de afbeeldingen nauwkeurig te tonen.Deze gebruiksvriendelijke functie vergemakkelijkt ontwerpers om onvermijdelijk te manipuleren met het licht, biedt flexibiliteit en controle over visuele esthetiek.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
De briljante waarde.
Examples
Het volgende voorbeeld uitvoert de helderheidcorrectie van een DICOM-afbeelding.
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(Vloot)
Verbeter Aspose.Imaging.Image contrast met deze gebruiksvriendelijke methode,die de verschillen tussen licht en donkere gebieden aanpast. verbeterde visuele helderheid enDefinitie moeiteloos, waardoor ontwikkelaars met intuïtieve controle overbeeld contrast voor optimale rendering.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
Contrastwaarde (in bereik [-100; 100])
Examples
Het volgende voorbeeld uitvoert een contrastcorrectie van een DICOM-afbeelding.
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(Vloot)
Verbeter de beeldkwaliteit en aanpassen met gamma-correctie, een krachtige techniekPerfect voor ontwikkelaars die het beeld willen optimaliserenpresentatie, aanpassen van kleurbalans, en zorgen voor consistente rendering over verschillendeapparaten en omgevingen.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma voor rode, groene en blauwe kanalen coëfficiënt
Examples
Het volgende voorbeeld uitvoert een gamma-correctie van een DICOM-afbeelding.
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(De vloot, de vloot, de vloot)
Het bereiken van nauwkeurige kleur aanpassingen door onafhankelijk gamma-correctie toe te passenaan de rode, groene en blauwe componenten van een afbeelding. deze methode zorgt voor nauwkeurigekleurbalans en optimale visuele output, catering voor ontwikkelaars op zoek naar granulierencontrole over beeld rendering en kleur nauwkeurigheid.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma voor de rode kanaal coefficiënt
gammaGreen
float
Gamma voor groene kanaal coëfficiënt
gammaBlue
float
Gamma voor blauw kanaal coefficiënt
Examples
Het volgende voorbeeld uitvoert een gamma-correctie van een DICOM-afbeelding die verschillende coëfficiënten toepast op kleurcomponenten.
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(Twee keer, int)
Binariseren van afbeeldingen met Bradley’s adaptieve thresholding algoritme, leveraging integralimage thresholding voor verbeterde prestaties. ideaal voor ontwikkelaars die op zoek zijn naarAutomatisch segmenteren afbeeldingen op basis van lokale variaties in helderheid, waarborgennauwkeurige objectdetectie en extractie in verschillende verlichtingsomstandigheden.
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
Het lichtverschil tussen de pixel en het gemiddelde van een s x s venster van pixelsHet gaat om deze pixel.
windowSize
int
De grootte van de s x s venster van pixels centraal rond deze pixel
Examples
Het volgende voorbeeld binarisert een DICOM-afbeelding met Bradley’s adaptieve grenzenalgoritme met de aangegeven venstergrootte.
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)
Makkelijk de afbeelding om te zetten in een binaire vorm met behulp van een vooraf gedefinieerde drempelMet deze eenvoudige methode. ideaal voor ontwikkelaars die het beeld willen vereenvoudigenverwerking van taken door het beeld te segmenteren in voor- en achtergrondcomponentengebaseerd op specifieke intensiteitsniveaus.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
als de overeenkomstige grijze waarde van een pixel groter is dan de grenswaarde, een255 wordt daartoe toegewezen, 0 anders.
Examples
Het volgende voorbeeld binarisert een DICOM-afbeelding met de vooraf gedefinieerde grens. Binariseerde afbeeldingen bevatten slechts 2 kleuren - zwart en wit.
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()
Apply Otsu thresholding om de afbeelding te binariseren, automatisch het optimale te bepalengrenswaarde gebaseerd op het histogram van het beeld. Perfect voor ontwikkelaars die op zoek zijn naareen betrouwbare methode om afbeeldingen in voor- en achtergrondgebieden te segmenteren metMinimale handmatige interventie.
public override void BinarizeOtsu()
Examples
Het volgende voorbeeld binarisert een DICOM-afbeelding met Otsu thresholding. Binariseerde afbeeldingen bevatten slechts 2 kleuren - zwart en wit.
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()
Deze methode cacheert efficiënt gegevens, optimalisert de prestaties en zorgt voor snelle toegangIdeaal voor ontwikkelaars die de snelheid en efficiëntie van huntoepassingen door intelligent gegevensbronnen te beheren.
public override void CacheData()
Examples
Het volgende voorbeeld laat zien hoe je alle pagina’s van een DICOM-afbeelding kunt verbergen.
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)
Groeien de afbeelding om ongewenste gebieden te verwijderen en concentreren op essentiële inhoud met ditEen eenvoudige methode. ideaal voor ontwikkelaars die de visuele samenstelling vanbeelden, zodat ze de gewenste boodschap effectief overbrengen.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
De rechthoek.
Examples
Het volgende voorbeeld plant een DICOM-afbeelding. het oogstgebied wordt aangegeven via 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, int)
Aanpassen van het grappegebied van de afbeelding door wijzigingen aan te passen met deze veelzijdige methode.Ideaal voor ontwikkelaars die nauwkeurige controle over het oogstproces nodig hebben.dat belangrijke details worden bewaard terwijl onnodige elementen worden geëlimineerd.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
De linker verandert.
rightShift
int
De juiste wisseling.
topShift
int
De top shift.
bottomShift
int
De bodem verandert.
Examples
Het volgende voorbeeld groeit een DICOM-afbeelding. de groeiplaats wordt aangegeven via de linker, top, rechter, onderste marge.
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)
Verbeteren van de huidige afbeelding door het toepassen van dithering effecten met dit eenvoudigPerfect voor ontwikkelaars die de textuur en diepte aan afbeeldingen willen toevoegen,verbetering van hun visuele kwaliteit en algemene aantrekkingskracht.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
De Dithering Methode.
bitsCount
int
De laatste bits tellen voor dithering.
customPalette
IColorPalette
De gewone palet voor dithering.
Examples
Het volgende voorbeeld loopt een DICOM-afbeelding en uitvoert grenzen en vloeibare dithering met behulp van verschillende paletdichtheid.
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)
Onvoldoende verbeteren van specifieke gebieden van uw afbeelding door filters toe te passen aan de aangegevenrectangles. deze methode biedt ontwikkelaars een nauwkeurige controle overbeeldmanipulatie, waardoor gerichte aanpassingen mogelijk zijn om de gewenstevisuele effecten met gemak.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
De rechthoek.
options
FilterOptionsBase
De opties .
Examples
Het volgende voorbeeld geldt voor verschillende soorten filters voor een DICOM-afbeelding.
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()
Eenvoudig omzetten van afbeeldingen in hun grayscale vertegenwoordiging, vereenvoudigen visueleanalytische en verwerkingsopdrachten. Perfect voor ontwikkelaars die op zoek zijn naar verbetering van de duidelijkheid van het beeld,Verminder de complexiteit en vergemakkelijkt efficiënte grayscale-gebaseerde algoritmenvoor diverse toepassingen.
public override void Grayscale()
Examples
Het volgende voorbeeld transformeert een gekleurde DICOM-afbeelding naar zijn grayscale-representatie.Grayescale’s zijn uitsluitend samengesteld uit schaduwen van grijze en dragen alleen intensiteitsinformatie mee.
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)
Voer een nieuwe pagina in de paginalijst van de afbeelding op een specifieke index met deze intuïtieveIdeaal voor ontwikkelaars die nauwkeurig controleren over de layout van de pagina’s inmeerzijdige afbeeldingen, waarborgen onbepaalde organisatie en aanpassing van beeldinhoud.
public DicomPage InsertPage(int pageIndex)
Parameters
pageIndex
int
Index van de pagina.
Returns
De nieuw gecreëerde Aspose.Imaging.FileFormats.Dicom.Page.
Examples
Creëren van een multi-page Dicom beeld.
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()
Zorg ervoor dat geen onbeheerde middelen hier worden vrijgegeven, omdat ze mogelijkal vrijgelaten.
protected override void ReleaseManagedResources()
RemovePage(Int)
Verwijder de pagina op de aangegeven index uit de lijst met deze handige methode.Ideaal voor ontwikkelaars die nauwkeurige controle over het beheer van meerdere pagina’s van afbeeldingen zoeken,het waarborgen van onbeperkte organisatie en aanpassing van beeldinhoud.
public void RemovePage(int pageIndex)
Parameters
pageIndex
int
Index van de pagina.
Exceptions
pageIndex’ is out of range.
Resize(int, int, resizeType)
De grootte van het beeld aanpassen met deze eenvoudige methode. ideaal voor ontwikkelaarszoekt om dynamisch afbeeldingen te resiseren, ervoor te zorgen dat ze naadloos passen in verschillendecontexten en layouts binnen hun toepassingen.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
De nieuwe breedte.
newHeight
int
De nieuwe hoogte.
resizeType
ResizeType
De resize type.
Examples
Dit voorbeeld loopt een DICOM-afbeelding en resecteert het met behulp van verschillende resisatiemethoden.
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)
U kunt de grootte van uw afbeelding aanpassen met deze eenvoudige resetmethode.Samenmaken of uitbreiden van uw afbeelding, deze functie zorgt ervoor dat uw herstelbehoeften worden vervuldefficiënt en nauwkeurig, waardoor het perfect is voor ontwikkelaars die snel en gemakkelijk zoekenAfbeeldingsgrootte aanpassingen.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
De nieuwe breedte.
newHeight
int
De nieuwe hoogte.
settings
ImageResizeSettings
De resize instellingen.
Examples
Dit voorbeeld loopt een DICOM-afbeelding en resecteert het met behulp van verschillende resizing-instellingen.
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(Int, ResizeType)
De hoogte van de afbeelding aanpassen terwijl het aspectverhouding met dezeGebruikersvriendelijke methode. Perfect voor ontwikkelaars die op zoek zijn naar dynamische herziening van afbeeldingenbij het behoud van hun proporties, het waarborgen van optimale weergave en gebruiksvriendelijkheidin hun toepassingen.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
De nieuwe hoogte.
resizeType
ResizeType
Type van de resize.
Examples
Dit voorbeeld loopt een DICOM-afbeelding en resecteert het evenredig met behulp van verschillende resisatiemethoden. alleen de hoogte wordt aangegeven, de breedte wordt automatisch berekend.
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)
Het is ideaal voor ontwikkelaars die de afmetingen van het beeld proportioneel willen aanpassen, consistentie te waarborgen en de proporties van de oorspronkelijke inhoud te behouden.De proportional resize zal elk frame herzien volgens het ratio van newWidth’/width en
newHeight’ / height.
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
De nieuwe breedte.
newHeight
int
De nieuwe hoogte.
resizeType
ResizeType
De resize type.
ResizeWidthProportionally(Int, ResizeType)
Aanpassen van de breedte van het beeld terwijl het aspectverhouding met deze handigeIdeaal voor ontwikkelaars die proberen om afbeeldingen proportioneel te resiseren, waarborgenconsistente en visueel aantrekkelijke resultaten over verschillende displayomgevingen.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
De nieuwe breedte.
resizeType
ResizeType
Type van de resize.
Examples
Dit voorbeeld loopt een DICOM-afbeelding en resecteert het evenredig met behulp van verschillende resisatiemethoden. alleen de breedte wordt aangegeven, de hoogte wordt automatisch berekend.
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, kleur)
Roteren van het beeld rond het centrum met deze handige methode. ideaal voor ontwikkelaarsstreven naar een dynamische oriëntatie van het beeld aan te passen, optimale presentatie te garanderen enaanpassing binnen hun toepassingen.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
De rotatie van de hoek in graden. positieve waarden zullen rotatie horloge.
resizeProportionally
bool
als je ’true’ hebt ingesteld, zal je afbeeldingsgrootte worden gewijzigd, afhankelijk van rotatie rectangle (kornpunten) projecties in andere gevallen die de dimensies niet aanraken en alleen interne beeldinhoud wordt roterd.
backgroundColor
Color
De kleur van de achtergrond.
Examples
Dit voorbeeld laat zien hoe je alle pagina’s van een DICOM-afbeelding kunt draaien en ze allemaal kunt opslaan naar een multi-frame TIFF beeld.
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)
Het is gemakkelijk om het actieve frame te manipuleren door te roteren, te flipen of beide acties uit te voeren.tegelijkertijd met deze eenvoudige methode. ideaal voor ontwikkelaars diedynamisch aanpassen van de oriëntatie van specifieke kaders binnen hun beeldsequenties,Optimale presentatie en aanpassing te garanderen.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
De rotated flip type.
Examples
Dit voorbeeld laden een DICOM-afbeelding op, draait het met 90 graden horloge en flipt optioneel het beeld horizontaal en/of verticaal.
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)
Het is gemakkelijk om uw beeldgegevens op te slaan in een bepaald stroom in het gewenste bestandformaatOf u nu werkt met JPEG, PNG of een ander format,Deze functie zorgt ervoor dat uw beeldgegevens efficiënt en nauwkeurig worden opgeslagen.maken het ideaal voor ontwikkelaars die hun bestandsbesparingsprocessen willen vergemakkelijken.
public override void Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)
Parameters
stream
Stream
De stroom om de gegevens van de afbeelding op te slaan.
optionsBase
ImageOptionsBase
De opties voor besparing.
boundsRectangle
Rectangle
De bestemming beeld grenzen rectangle. Set de lege rectangle voor het gebruik van bron grenzen.
Examples
Het volgende voorbeeld loopt een DICOM-afbeelding uit een bestand en slaat vervolgens het beeld op in een PNG-bestandstromen.
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)
Bewaar de gegevens van het object door het op te slaan in het aangewezen bestand (indexer + bestandsnaam)locatie samen met aangegeven bestandformaat en opties. ideaal voor ontwikkelaars die op zoek zijn naarbeveiligd opslaan van gegevens in verschillende formaten terwijl flexibiliteit en controle overSparparameters te gebruiken.
public void SaveAll(string filePath, ImageOptionsBase options)
Parameters
filePath
string
De file route.
options
ImageOptionsBase
De opties .
SaveData(Stream)
Bespaar de gegevens.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
De stroom om gegevens op te slaan.
SetResolution(dubbele, dubbele)
Aanpassen van de resolutie van dit Aspose.Imaging.RasterImage met nauwkeurigheid met behulp van dezeideaal voor ontwikkelaars die op zoek zijn naar het aanpassen van beeldresolutiespecifieke vereisten, optimale displaykwaliteit en bestandsgroottebeheer te waarborgen.
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
De horizontale resolutie, in punten per inch, van de Aspose.Imaging.RasterImage.
dpiY
double
De verticale resolutie, in punten per inch, van de Aspose.Imaging.RasterImage.
UpdateDimensions(int, int)
Update de afbeeldingsdimensies.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
De nieuwe beeldbreedte.
newHeight
int
De nieuwe beeldhoogte.