Class DicomImage
Le nom : Aspose.Imaging.FileFormats.Dicom Assemblée: Aspose.Imaging.dll (25.4.0)
Cette classe met en œuvre l’image numérique et la communication dans la médecine(DICOM) supporte le format d’image de raster et offre une solution globale pourTraiter les images DICOM avec précision et flexibilité.manipuler les pages d’image, y compris les opérations pour obtenir, ajouter ou supprimer des pages, etcontrôler les pages par défaut et actives. avec la capacité de travailler avec des canaux alpha,incorporer les métadonnées XMP, redémarrer, tourner, cultiver, binariser, ajuster, appliquer des filtres,et convertir à d’autres formats de raster. Cette API permet aux développeurs de gérerDICOM images efficacement tout en répondant à divers exigences d’application danscontexte d’imagerie médicale.
[JsonObject(MemberSerialization.OptIn)]
public sealed class DicomImage : RasterCachedMultipageImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata, IMultipageImageExt, IMultipageImage
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage ← RasterCachedImage ← RasterCachedMultipageImage ← DicomImage
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata , IMultipageImageExt , IMultipageImage
I membri ereditari
RasterCachedMultipageImage.AdjustBrightness(int) , RasterCachedMultipageImage.AdjustContrast(float) , RasterCachedMultipageImage.AdjustGamma(float, float, float) , RasterCachedMultipageImage.AdjustGamma(float) , RasterCachedMultipageImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedMultipageImage.BinarizeFixed(byte) , RasterCachedMultipageImage.BinarizeBradley(double, int) , RasterCachedMultipageImage.BinarizeBradley(double) , RasterCachedMultipageImage.BinarizeOtsu() , RasterCachedMultipageImage.Crop(Rectangle) , RasterCachedMultipageImage.Crop(int, int, int, int) , RasterCachedMultipageImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedMultipageImage.Grayscale() , RasterCachedMultipageImage.NormalizeHistogram() , RasterCachedMultipageImage.Rotate(float, bool, Color) , RasterCachedMultipageImage.RotateFlip(RotateFlipType) , RasterCachedMultipageImage.RotateFlipAll(RotateFlipType) , RasterCachedMultipageImage.Resize(int, int, ResizeType) , RasterCachedMultipageImage.Resize(int, int, ImageResizeSettings) , RasterCachedMultipageImage.ResizeWidthProportionally(int, ResizeType) , RasterCachedMultipageImage.ResizeHeightProportionally(int, ResizeType) , RasterCachedMultipageImage.ReplaceColor(int, byte, int) , RasterCachedMultipageImage.ReplaceNonTransparentColors(int) , RasterCachedMultipageImage.Filter(Rectangle, FilterOptionsBase) , RasterCachedMultipageImage.NormalizeAngle(bool, Color) , RasterCachedMultipageImage.CacheData() , RasterCachedMultipageImage.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , RasterCachedMultipageImage.Height , RasterCachedMultipageImage.Width , RasterCachedMultipageImage.BitsPerPixel , RasterCachedMultipageImage.IsCached , RasterCachedMultipageImage.PageCount , RasterCachedMultipageImage.Pages , RasterCachedMultipageImage.HasAlpha , RasterCachedMultipageImage.HasTransparentColor , RasterCachedMultipageImage.ImageOpacity , RasterCachedMultipageImage.BackgroundColor , RasterCachedMultipageImage.XmpData , RasterCachedMultipageImage.PageExportingAction , RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.IsCached , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
Changer le type de couleur dans la compression DICOM.
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions { ColorType = ColorType.Grayscale8Bit };
inputImage.Save("original_8Bit.dcm", options);
}
Utilisez la compression RLE dans l’image DICOM.
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions
{
ColorType = ColorType.Rgb24Bit,
Compression = new Compression { Type = CompressionType.Rle }
};
inputImage.Save("original_RLE.dcm", options);
}
Utilisez la compression JPEG 2000 dans l’image DICOM.
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions
{
ColorType = ColorType.Rgb24Bit,
Compression = new Compression
{
Type = CompressionType.Jpeg2000,
Jpeg2000 = new Jpeg2000Options
{
Codec = Jpeg2000Codec.Jp2,
Irreversible = false
}
}
};
inputImage.Save("original_JPEG2000.dcm", options);
}
Utilisez la compression JPEG dans l’image DICOM.
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions
{
ColorType = ColorType.Rgb24Bit,
Compression = new Compression
{
Type = CompressionType.Jpeg,
Jpeg = new JpegOptions
{
CompressionType = JpegCompressionMode.Baseline,
SampleRoundingMode = SampleRoundingMode.Truncate,
Quality = 50
}
}
};
inputImage.Save("original_JPEG.dcm", options);
}
Cet exemple montre comment charger une image DICOM à partir d’un flux de fichiers.
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());
}
}
}
Créer une image multi-page.
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(Méditerranée, int et int)
Initialisez une nouvelle instance de la classe DicomImage sans effort avec cetteconstructeur, en utilisant dicomOptions paramètres. parfait pour les développeurs qui regardentpour plonger dans les objets Aspose.Imaging.FileFormats.Dicom.Climate de manière rapide et efficace dans leurs projets.
public DicomImage(DicomOptions dicomOptions, int width, int height)
Parameters
dicomOptions
DicomOptions
Les options de dicom.
width
int
La larghezza .
height
int
La altezza .
DicomImage(Résumé, LoadOptions)
Initier une nouvelle instance de la classe DicomImage en utilisant un flux etchargeOptions paramètres dans ce constructeur. Idéal pour les développeurs désireux de démarrerTravailler avec le Aspose.Imaging.FileFormats.Dicom.DiomImage des objets rapidement et efficacement dans leurs projets.
public DicomImage(Stream stream, LoadOptions loadOptions)
Parameters
stream
Stream
Il flusso .
loadOptions
LoadOptions
Le opzioni di carico.
Examples
Cet exemple montre comment charger une image DICOM d’un flux de fichiers pour rester au-delà de la limite de mémoire spécifiée.
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)
Créer une nouvelle instance de la classe DicomImage en utilisant un paramètre de courantIdéal pour les développeurs qui cherchent un moyen simplifié d’initialiserAspose.Imaging.FileFormats.Dicom.DicomImage des objets provenant des flux de données existants dans leurs projets.
public DicomImage(Stream stream)
Parameters
stream
Stream
Il flusso .
Examples
Cet exemple montre comment charger une image DICOM à partir d’un flux de fichiers.
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
Gérer la page active de l’image avec cette propriété intuitive. idéal pour les développeurschercher à transformer dynamiquement entre les pages dans les images multi-page, assurant une efficaciténavigation et le traitement.
public DicomPage ActivePage { get; set; }
Valore di proprietà
Exceptions
La page active ne peut pas être définie car elle appartient à une autre image.
ActivePageIndex
Retirez l’index de la page active sans effort avec cette propriété intuitive.Idéal pour les développeurs qui recherchent un accès rapide à l’indice de page actuel dans plusieurs pagesdes images, assurant une navigation et un traitement efficaces.
public int ActivePageIndex { get; }
Valore di proprietà
DicomPages
Accès aux pages de l’image avec cette propriété intuitive. idéal pour les développeurschercher à interagir avec des pages individuelles au sein de l’image, en garantissant unNavigation et manipulation.
public DicomPage[] DicomPages { get; }
Valore di proprietà
DicomPage [ ]
FileFormat
Retrouvez la valeur du format de fichier sans effort avec cette propriété intuitive.les développeurs qui cherchent un accès rapide au format du fichier d’image, ce qui garantit une efficacitéTraitement et traitement en fonction du type de fichier.
public override FileFormat FileFormat { get; }
Valore di proprietà
FileInfo
Récupérer les informations de titre précieuses du fichier DICOM sans effort avec cePropriété intuitive Idéal pour les développeurs qui cherchent un accès rapide aux détails essentielsencapsulé dans le fichier DICOM, assurant une extraction et une analyse efficaces des données.
public DicomImageInfo FileInfo { get; }
Valore di proprietà
HasAlpha
Retrouvez si l’image a un canal alpha sans effort avec cette intuitiveIdéal pour les développeurs qui cherchent à déterminer si l’image contient de la transparenceinformation, assurer la gestion précise des données du canal alpha dans les tâches de traitement d’image.
public override bool HasAlpha { get; }
Valore di proprietà
PageCount
Retrouvez le nombre total de pages de l’image avec cette propriété intuitive.les développeurs qui recherchent un accès rapide au nombre de pages dans une image,Une navigation et une gestion efficaces.
public override int PageCount { get; }
Valore di proprietà
Pages
Accès aux pages de l’image avec cette propriété intuitive. idéal pour les développeurschercher à interagir avec des pages individuelles dans l’image, assurant une navigation sans filet la manipulation.
public override Image[] Pages { get; }
Valore di proprietà
Image [ ]
Methods
AddPage(RasterImage)
Expandez votre collection d’images en ajoutant une nouvelle page avec cette méthode intuitive.Idéal pour les développeurs qui cherchent à appliquer dynamiquement des pages à des images multi-page,assurer une expansion et une organisation sans fil du contenu d’image.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
La page à ajouter.
Exceptions
page’ is null.
AddPage()
Appliquez une nouvelle page à la fin de la liste des pages de l’image avec cette méthode simple.Idéal pour les développeurs qui cherchent à étendre dynamiquement les images multi-page, ce qui garantit l’absence de signesL’intégration et l’organisation du contenu d’image.
public DicomPage AddPage()
Returns
Le récemment créé Aspose.Imaging.FileFormats.Dicom.Page.
Examples
Créer une image multi-page.
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)
Améliore la luminosité de l’image avec l’ajustement de la brillance , méthode paramétrifiée qui permet aux développeurs de finir la lumière des images.Cette fonctionnalité utilisateur-friendly empêche les développes de manipuler sans cesse la brille d’image, offrant une flexibilité et un contrôle sur les esthétiques visuelles.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
Il valore della luminosità.
Examples
L’exemple suivant effectue une correction de luminosité d’une image DICOM.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Set the brightness value. The accepted values of brightness are in the range [-255, 255].
dicomImage.AdjustBrightness(50);
dicomImage.Save(dir + "sample.AdjustBrightness.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustContrast(Flotte)
Améliorer Aspose.Imaging.Imager le contraste avec cette méthode user-friendly,qui ajuste la disparité entre les zones lumineuses et sombres. améliore la clarté visuelle etdéfinition sans effort, fournissant aux développeurs un contrôle intuitif surContraste d’image pour un rendu optimal.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
valeur de contraste (dans la gamme [-100; 100])
Examples
L’exemple suivant effectue la correction de contraste d’une image DICOM.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Set the contrast value. The accepted values of contrast are in the range [-100f, 100f].
dicomImage.AdjustContrast(50f);
dicomImage.Save(dir + "sample.AdjustContrast.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustGamma(Flotte)
Améliorez la qualité de l’image et ajustez-la avec la correction gamma, une technique puissanteparfait pour les développeurs visant à optimiser l’imagePrésentation, ajustement de l’équilibre des couleurs, et assure une rendu cohérente à travers les différentsdispositifs et environnements.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
Gamma per il coefficiente dei canali rosso, verde e blu
Examples
L’exemple suivant effectue une correction gamma d’une image DICOM.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Set gamma coefficient for red, green and blue channels.
dicomImage.AdjustGamma(2.5f);
dicomImage.Save(dir + "sample.AdjustGamma.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
AdjustGamma(Flotte, Flotte et Flotte)
Obtenir des ajustements de couleur précises en appliquant la correction gamma indépendammentaux composants rouges, verts et bleus d’une image.Cette méthode assure l’exactitudeL’équilibre des couleurs et la performance visuelle optimale, catering pour les développeurs à la recherche de granulesContrôle de l’image et de la précision des couleurs.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
Gamma per il coefficiente del canale rosso
gammaGreen
float
Gamma per il coefficiente del canale verde
gammaBlue
float
Gamma per il coefficiente del canale blu
Examples
L’exemple suivant effectue une correction gamma d’une image DICOM appliquant différents coefficients pour les composants de couleur.
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(double, int)
Binariser les images avec l’algorithme d’adaptation de Bradley, le leverage intégrall’image pour une performance améliorée. idéal pour les développeurs qui cherchent àsegmenter automatiquement les images en fonction des variations locales de luminosité,la détection et l’extraction exactes des objets dans des conditions d’éclairage différentes.
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
La différence de luminosité entre le pixel et la moyenne d’une fenêtre s x s de pixelsC’est autour de ce pixel.
windowSize
int
La dimensione della finestra s x s dei pixel centrati intorno a questo pixel
Examples
L’exemple suivant binarisera une image DICOM avec l’algorithme d’adaptation de Bradley avec la taille de fenêtre spécifié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(Le byte)
Convertez facilement l’image dans un format binaire en utilisant un seuil prédéfiniIdéal pour les développeurs qui cherchent à simplifier l’imageTraitement des tâches en segmentant l’image en composants avant et en arrière-planen fonction des niveaux d’intensité spécifiés.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
Si la valeur grise correspondante d’un pixel est supérieure à la limite, une valeur de255 sera attribué à cela, 0 autrement.
Examples
L’exemple suivant binarisera une image DICOM avec le seuil prédéfini. les images binaires ne contiennent que 2 couleurs - noir et blanc.
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()
Appliquer Otsu limitation pour binariser l’image, déterminant automatiquement le meilleurvaleur limite basée sur l’histogramme de l’image. parfait pour les développeurs qui cherchentune méthode fiable pour segmenter les images dans les régions avant et en arrière-plan avecIntervention manuelle minimale.
public override void BinarizeOtsu()
Examples
L’exemple suivant binarisera une image DICOM avec le seuil Otsu. Les images binaires ne contiennent que 2 couleurs - noir et blanc.
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()
Cette méthode cache efficacement les données, optimise les performances et assure un accès rapideIdéal pour les développeurs qui cherchent à améliorer la vitesse et l’efficacité de leurApplications en gérant intelligemment les ressources de données.
public override void CacheData()
Examples
L’exemple ci-dessous montre comment cacher toutes les pages d’une image DICOM.
string dir = "c:\\temp\\";
// Load an image from a DICOM file.
using (Aspose.Imaging.FileFormats.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
// This call caches all the pages so that no additional data loading will be performed from the underlying data stream.
image.CacheData();
// Or you can cache the pages individually.
foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage page in image.DicomPages)
{
page.CacheData();
}
}
Crop(Rectangle)
Cultiver l’image pour éliminer les zones indésirables et se concentrer sur le contenu essentiel avec ceméthode simple. idéal pour les développeurs qui cherchent à personnaliser la composition visuelle deles images, pour s’assurer qu’elles transmettent efficacement le message souhaité.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
Il rectangolo .
Examples
L’exemple suivant donne une image DICOM. La zone de récolte est spécifiée 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)
Ajuster la zone de récolte de l’image en appliquant des changements avec cette méthode polyvalente.Idéal pour les développeurs qui ont besoin de contrôle précis sur le processus de récolte, assurantLes détails importants sont conservés tout en éliminant les éléments inutiles.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
La sinistra cambia.
rightShift
int
Il giusto cambio.
topShift
int
Il top shift.
bottomShift
int
Il basso cambiamento.
Examples
L’exemple suivant donne une image DICOM. La zone de récolte est spécifiée via les marges gauche, supérieure, droite, basse.
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(DitheringMétode, int, IColorPalette)
Améliorez l’image actuelle en appliquant les effets de diffusion avec ce simpleIdéal pour les développeurs visant à ajouter la texture et la profondeur aux images,Améliorer leur qualité visuelle et leur attraction générale.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
Il metodo di diffusione.
bitsCount
int
I bit finali contano per il dithering.
customPalette
IColorPalette
La paletta personalizzata per il dithering.
Examples
L’exemple suivant charge une image DICOM et effectue le débit et le fluid dithering en utilisant différentes profondeurs de palette.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Perform threshold dithering using 4-bit color palette which contains 16 colors.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
dicomImage.Dither(Aspose.Imaging.DitheringMethod.ThresholdDithering, 4, null);
dicomImage.Save(dir + "sample.ThresholdDithering4.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Perform floyd dithering using 1-bit color palette which contains only 2 colors - black and white.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
dicomImage.Dither(Aspose.Imaging.DitheringMethod.FloydSteinbergDithering, 1, null);
dicomImage.Save(dir + "sample.FloydSteinbergDithering1.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Filter(Rectangle, FilterOptionsBase)
Améliorer efficacement les zones spécifiques de votre image en appliquant des filtres àCette méthode fournit aux développeurs un contrôle précis surmanipulation d’image, permettant aux ajustements ciblés de réaliser le souhaitéEffets visuels faciles.
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
Il rectangolo .
options
FilterOptionsBase
Le opzioni .
Examples
L’exemple suivant applique différents types de filtres à une image DICOM.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Apply a median filter with a rectangle size of 5 to the entire image.
dicomImage.Filter(dicomImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MedianFilterOptions(5));
dicomImage.Save(dir + "sample.MedianFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Apply a bilateral smoothing filter with a kernel size of 5 to the entire image.
dicomImage.Filter(dicomImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.BilateralSmoothingFilterOptions(5));
dicomImage.Save(dir + "sample.BilateralSmoothingFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Apply a Gaussian blur filter with a radius of 5 and a sigma value of 4.0 to the entire image.
dicomImage.Filter(dicomImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussianBlurFilterOptions(5, 4.0));
dicomImage.Save(dir + "sample.GaussianBlurFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Apply a Gauss-Wiener filter with a radius of 5 and a smooth value of 4.0 to the entire image.
dicomImage.Filter(dicomImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussWienerFilterOptions(5, 4.0));
dicomImage.Save(dir + "sample.GaussWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Apply a motion wiener filter with a length of 5, a smooth value of 4.0 and an angle of 90.0 degrees to the entire image.
dicomImage.Filter(dicomImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MotionWienerFilterOptions(10, 1.0, 90.0));
dicomImage.Save(dir + "sample.MotionWienerFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
// Apply a sharpen filter with a kernel size of 5 and a sigma value of 4.0 to the entire image.
dicomImage.Filter(dicomImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.SharpenFilterOptions(5, 4.0));
dicomImage.Save(dir + "sample.SharpenFilter.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Grayscale()
Transformer facilement les images en leur représentation graisseuse, simplifiant la visualitétâches d’analyse et de traitement. Idéal pour les développeurs qui cherchent à améliorer la clarté de l’image,Réduire la complexité et faciliter les algorithmes grayscale efficacespour diverses applications.
public override void Grayscale()
Examples
L’exemple suivant transforme une image colorée DICOM à sa représentation grayscale. Les images graiscales sont composées exclusivement de nuances de gris et ne portent que des informations d’intensité.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = (Aspose.Imaging.FileFormats.Dicom.DicomImage)image;
dicomImage.Grayscale();
dicomImage.Save(dir + "sample.Grayscale.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
InsertPage(int)
Insérer une nouvelle page dans la liste des pages de l’image sur un indice spécifié avec cette intuitiveIdéal pour les développeurs qui recherchent un contrôle précis sur l’arrangement des pages dansImages multi-page, assurant l’organisation et la personnalisation de contenu d’image.
public DicomPage InsertPage(int pageIndex)
Parameters
pageIndex
int
Index de la page.
Returns
Le récemment créé Aspose.Imaging.FileFormats.Dicom.Page.
Examples
Créer une image multi-page.
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()
Assurez-vous que les ressources non gérées ne sont pas publiées ici, car elles peuvent avoir étédéjà libéré.
protected override void ReleaseManagedResources()
RemovePage(int)
Supprimez la page à l’index spécifié de la liste de pages avec cette méthode pratique.Idéal pour les développeurs qui recherchent un contrôle précis sur la gestion des images multi-page,assurer l’organisation et la personnalisation sans fil du contenu d’image.
public void RemovePage(int pageIndex)
Parameters
pageIndex
int
Index de la page.
Exceptions
pageIndex’ is out of range.
Resize(int, int, resizeType)
Ajuster la taille de l’image avec cette méthode simple. idéal pour les développeurschercher à réanimer dynamiquement les images, assurant qu’elles s’adaptent sans signe à diversesContexts et layouts dans leurs applications.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
La nuova larghezza.
newHeight
int
La nuova altezza.
resizeType
ResizeType
Il tipo di ritorno.
Examples
Cet exemple charge une image DICOM et la réaffiche en utilisant diverses méthodes de récitation.
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)
Ajustez la taille de votre image avec cette méthode simple de recouvrement.Réduire ou agrandir votre image, cette fonction garantit que vos besoins de réanimation sont satisfaitsefficacement et avec précision, ce qui le rend parfait pour les développeurs à la recherche rapide et facileAjustement de taille de l’image.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
La nuova larghezza.
newHeight
int
La nuova altezza.
settings
ImageResizeSettings
Il ripristino delle impostazioni.
Examples
Cet exemple charge une image DICOM et la réaffiche en utilisant divers paramètres de récitation.
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ésumé, Résumé)
Ajuster la hauteur de l’image tout en maintenant son rapport d’aspect avec ceméthode user-friendly. parfait pour les développeurs qui cherchent à recycler dynamiquement les imagestout en préservant leurs proportions, en garantissant une affichage optimale et une usabilitédans leurs applications.
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
La nuova altezza.
resizeType
ResizeType
Tipo di ritorno.
Examples
Cet exemple charge une image DICOM et la résise proportionnellement en utilisant diverses méthodes de résisation. Seule la hauteur est spécifiée, la largeur est calculée automatiquement.
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)
Idéal pour les développeurs qui cherchent à ajuster les dimensions de l’image de manière proportionnelle, assurer la cohérence et préserver les proportions du contenu original.La récession proporcionelle récapitulera chaque cadre selon le rapport de newWidth’/width et
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
La nuova larghezza.
newHeight
int
La nuova altezza.
resizeType
ResizeType
Il tipo di ritorno.
ResizeWidthProportionally(Résumé, Résumé)
Ajuster la largeur de l’image tout en maintenant sa proportion d’aspect avec cette pratiqueIdéal pour les développeurs qui cherchent à récapituler les images proportionnellement, assurantDes résultats cohérents et visuellement attrayants dans différents environnements d’affichage.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
La nuova larghezza.
resizeType
ResizeType
Tipo di ritorno.
Examples
Cet exemple charge une image DICOM et la résise proportionnellement en utilisant diverses méthodes de résisation. Seule la largeur est spécifiée, la hauteur est calculée automatiquement.
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(fleat, bool, couleur)
Rotez l’image autour de son centre avec cette méthode pratique. idéal pour les développeurss’efforçant d’ajuster de manière dynamique l’orientation des images, en garantissant une présentation optimale etl’alignement dans leurs applications.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
L’angolo di rotazione in gradi. valori positivi gireranno in orologio.
resizeProportionally
bool
s’il est configuré à ’true’ vous aurez la taille de votre image modifiée en fonction des projections rectangles (points corniers) rotés dans d’autres cas qui laissent les dimensions non touchées et seulementinterne contenu de l’image sont rotées.
backgroundColor
Color
Il colore del background.
Examples
Cet exemple montre comment tourner toutes les pages d’une image DICOM et les économiser tous dans une image TIFF multi-frame.
string dir = "c:\\temp\\";
// Load a DICOM image from a file stream.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "multiframe.dicom"))
{
using (Aspose.Imaging.FileFormats.Dicom.DicomImage dicomImage = new Aspose.Imaging.FileFormats.Dicom.DicomImage(stream))
{
// Rotate the image around the center by 60 degrees clockwise.
// Use gray as the background color.
dicomImage.Rotate(60, true, Aspose.Imaging.Color.Gray);
Aspose.Imaging.ImageOptions.TiffOptions createOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
createOptions.Compression = Aspose.Imaging.FileFormats.Tiff.Enums.TiffCompressions.Deflate;
// Note that if the image is colorful, it will be automatically converted to the grayscale format according to the options below
createOptions.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.MinIsBlack;
createOptions.BitsPerSample = new ushort[] { 8 };
// Create an array of TIFF frames.
// The number of the frames is equal to the number of the DJVU pages.
Aspose.Imaging.FileFormats.Tiff.TiffFrame[] tiffFrames = new Aspose.Imaging.FileFormats.Tiff.TiffFrame[dicomImage.DicomPages.Length];
// Save each page as an individual TIFF frame.
foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage dicomPage in dicomImage.DicomPages)
{
// Create a TIFF frame based on the DICOM page.
tiffFrames[dicomPage.Index] = new Aspose.Imaging.FileFormats.Tiff.TiffFrame(dicomPage, createOptions);
}
// Compose a TIFF image from the frames.
using (Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = new Aspose.Imaging.FileFormats.Tiff.TiffImage(tiffFrames))
{
// Save to a file.
tiffImage.Save(dir + "multiframe.tif");
}
}
}
RotateFlip(RotateFlipType)
Manipuler facilement le cadre actif en rotant, en flipsant ou en effectuant les deux actionsen même temps que cette méthode simple. idéal pour les développeurs qui ont besoin deajustement dynamique de l’orientation des cadres spécifiques dans leurs séquences d’image,Assurer la présentation et l’alignement optimales.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
Il tipo di flip rotato.
Examples
Cet exemple charge une image DICOM, la tourne à 90 degrés d’horloge et flique optionnellement l’image horizontalement et/ou verticalement.
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(Le courant, ImageOptionsBase, Rectangle)
Enregistrer facilement vos données d’image dans un flux spécifié dans le format de fichier désiréSi vous travaillez avec JPEG, PNG ou un autre format,Cette fonction garantit que vos données d’image sont sauvegardées de manière efficace et précise,Il est idéal pour les développeurs qui cherchent à rationaliser leurs processus de sauvegarde de fichiers.
public override void Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)
Parameters
stream
Stream
Il flusso per salvare i dati dell’immagine.
optionsBase
ImageOptionsBase
Le opzioni di risparmio.
boundsRectangle
Rectangle
L’immagine di destinazione limita il rettangolo. impostare il rettangolo vuoto per utilizzare i limiti sorgente.
Examples
L’exemple suivant charge une image DICOM d’un fichier, puis enregistre l’image dans un flux de fichiers PNG.
string dir = "c:\\temp\\";
using (Aspose.Imaging.FileFormats.Dicom.DicomImage image = (Aspose.Imaging.FileFormats.Dicom.DicomImage)Aspose.Imaging.Image.Load(dir + "sample.dicom"))
{
Aspose.Imaging.ImageOptions.PngOptions saveOptions = new Aspose.Imaging.ImageOptions.PngOptions();
Aspose.Imaging.Rectangle bounds = new Aspose.Imaging.Rectangle(0, 0, image.Width / 2, image.Height / 2);
using (System.IO.Stream outputStream = System.IO.File.Open(dir + "output.png", System.IO.FileMode.Create))
{
// Save the upper-left quarter of the image to a file stream.
image.Save(outputStream, saveOptions, bounds);
}
}
SaveAll(Résumé : ImageOptionsBase)
Conserver les données de l’objet en le sauvegardant dans le fichier désigné (indexateur + nom de file)localisation avec le format de fichier spécifié et les options. Idéal pour les développeurs qui cherchent àstockage sécurisé des données dans divers formats tout en conservant la flexibilité et le contrôleparamètres de sauvetage.
public void SaveAll(string filePath, ImageOptionsBase options)
Parameters
filePath
string
Il percorso del file.
options
ImageOptionsBase
Le opzioni .
SaveData(Stream)
Économisez les données.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
Le flux pour sauvegarder les données.
SetResolution(double, double)
Ajuster la résolution de ce Aspose.Imaging.RasterImage avec précision en utilisant ceméthode simple. idéal pour les développeurs qui cherchent à adapter la résolution d’image àexigences spécifiques, garantissant la qualité de l’affichage optimale et la gestion de la taille des fichiers.
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
La résolution horizontale, en points par pouce, du Aspose.Imaging.RasterImage.
dpiY
double
La résolution verticale, en points par pouce, du Aspose.Imaging.RasterImage.
UpdateDimensions(int, int)
Aggiornare le dimensioni dell’immagine.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
La nuova larghezza dell’immagine.
newHeight
int
L’altezza della nuova immagine.