DicomImage
Contenuti
[
Nascondere
]DicomImage class
È la classe dell’implementazione che lavora con l’immagine dal file DICOM
public sealed class DicomImage : RasterCachedMultipageImage, IMultipageImageExt
Costruttori
| Nome | Descrizione | 
|---|---|
| DicomImage(Stream) | Inizializza una nuova istanza di DicomImageclasse. | 
| DicomImage(Stream, LoadOptions) | Inizializza una nuova istanza di DicomImageclasse. | 
| DicomImage(DicomOptions, int, int) | Inizializza una nuova istanza di DicomImageclasse. | 
Proprietà
| Nome | Descrizione | 
|---|---|
| ActivePage { get; set; } | Ottiene o imposta la pagina attiva. | 
| ActivePageIndex { get; } | Ottiene la pagina attiva dell’indice. | 
| AutoAdjustPalette { get; set; } | Ottiene o imposta un valore che indica se regolare automaticamente la tavolozza. | 
| override BackgroundColor { get; set; } | Ottiene o imposta un valore per il colore di sfondo. | 
| override BitsPerPixel { get; } | Ottiene il numero di bit dell’immagine per pixel. | 
| Bounds { get; } | Ottiene i limiti dell’immagine. | 
| BufferSizeHint { get; set; } | Ottiene o imposta l’hint per la dimensione del buffer che è la dimensione massima consentita per tutti i buffer interni. | 
| Container { get; } | Ottiene il Imagecontenitore. | 
| DataStreamContainer { get; } | Ottiene il flusso di dati dell’oggetto. | 
| DicomPages { get; } | Ottiene le pagine. | 
| Disposed { get; } | Ottiene un valore che indica se questa istanza è stata eliminata. | 
| override FileFormat { get; } | Ottiene un valore di formato file | 
| FileInfo { get; } | Ottiene un valore, che contiene l’intestazione delle informazioni il file DICOM | 
| override HasAlpha { get; } | Ottiene il canale alfa Has. | 
| virtual HasBackgroundColor { get; set; } | Ottiene o imposta un valore che indica se l’immagine ha il colore di sfondo. | 
| override HasTransparentColor { get; } | Ottiene un valore che indica se l’immagine ha un colore trasparente. | 
| override Height { get; } | Ottiene l’altezza dell’immagine. | 
| virtual HorizontalResolution { get; set; } | Ottiene o imposta la risoluzione orizzontale, in pixel per pollice, di questo RasterImage. | 
| override ImageOpacity { get; } | Ottiene l’opacità di questa immagine. | 
| InterruptMonitor { get; set; } | Ottiene o imposta il monitor di interruzione. | 
| IsCached { get; } | Ottiene un valore che indica se i dati dell’immagine sono attualmente memorizzati nella cache. | 
| IsRawDataAvailable { get; } | Ottiene un valore che indica se è disponibile il caricamento dei dati grezzi. | 
| override PageCount { get; } | Ottiene il conteggio delle pagine. | 
| override PageExportingAction { get; set; } | Ottiene o imposta l’azione di esportazione della pagina. Tieni presente che l’impostazione di questo metodo rilascerà automaticamente le risorse della pagina dopo l’esecuzione. Verrà eseguito appena prima del salvataggio di ogni pagina. | 
| override Pages { get; } | Ottiene le pagine. | 
| Palette { get; set; } | Ottiene o imposta la tavolozza dei colori. La tavolozza dei colori non viene utilizzata quando i pixel sono rappresentati direttamente. | 
| virtual PremultiplyComponents { get; set; } | Ottiene o imposta un valore che indica se i componenti dell’immagine devono essere premoltiplicati. | 
| RawCustomColorConverter { get; set; } | Ottiene o imposta il convertitore colore personalizzato | 
| virtual RawDataFormat { get; } | Ottiene il formato dei dati grezzi. | 
| RawDataSettings { get; } | Ottiene le impostazioni dei dati grezzi correnti. Nota quando si utilizzano queste impostazioni i dati vengono caricati senza conversione. | 
| RawFallbackIndex { get; set; } | Ottiene o imposta l’indice di fallback da utilizzare quando l’indice della tavolozza è fuori dai limiti | 
| RawIndexedColorConverter { get; set; } | Ottiene o imposta il convertitore colore indicizzato | 
| virtual RawLineSize { get; } | Ottiene la dimensione della riga grezza in byte. | 
| Size { get; } | Ottiene la dimensione dell’immagine. | 
| virtual TransparentColor { get; set; } | Ottiene il colore trasparente dell’immagine. | 
| virtual UpdateXmpData { get; set; } | Ottiene o imposta un valore che indica se aggiornare i metadati XMP. | 
| override UsePalette { get; } | Ottiene un valore che indica se viene utilizzata la tavolozza dell’immagine. | 
| virtual UseRawData { get; set; } | Ottiene o imposta un valore che indica se utilizzare il caricamento dei dati grezzi quando è disponibile il caricamento dei dati grezzi. | 
| virtual VerticalResolution { get; set; } | Ottiene o imposta la risoluzione verticale, in pixel per pollice, di questo RasterImage. | 
| override Width { get; } | Ottiene la larghezza dell’immagine. | 
| override XmpData { get; set; } | Ottiene o imposta i dati Xmp. | 
Metodi
| Nome | Descrizione | 
|---|---|
| AddPage() | Aggiunge una nuova pagina alla fine dell’elenco delle pagine. | 
| AddPage(RasterImage) | Aggiunge la pagina all’immagine. | 
| override AdjustBrightness(int) | Regolazione di abrightness per immagine. | 
| override AdjustContrast(float) | Imagecontrasto | 
| override AdjustGamma(float) | Correzione gamma di un’immagine. | 
| override AdjustGamma(float, float, float) | Correzione gamma di un’immagine. | 
| override BinarizeBradley(double) | Binarizzazione di un’immagine utilizzando l’algoritmo di soglia adattivo di Bradley utilizzando la soglia di immagine integrale | 
| override BinarizeBradley(double, int) | Binarizzazione di un’immagine utilizzando l’algoritmo di soglia adattivo di Bradley utilizzando la soglia di immagine integrale | 
| override BinarizeFixed(byte) | Binarizzazione di un’immagine con soglia predefinita | 
| override BinarizeOtsu() | Binarizzazione di un’immagine con soglia Otsu | 
| override CacheData() | Memorizza nella cache i dati privati. | 
| CanSave(ImageOptionsBase) | Determina se l’immagine può essere salvata nel formato file specificato rappresentato dalle opzioni di salvataggio passate. | 
| override Crop(Rectangle) | Ritaglio dell’immagine. | 
| override Crop(int, int, int, int) | Ritaglia immagine con spostamenti. | 
| Dispose() | Elimina l’istanza corrente. | 
| Dither(DitheringMethod, int) | Esegue il dithering sull’immagine corrente. | 
| override Dither(DitheringMethod, int, IColorPalette) | Esegue il dithering sull’immagine corrente. | 
| override Filter(Rectangle, FilterOptionsBase) | Filtra il rettangolo specificato. | 
| GetArgb32Pixel(int, int) | Ottiene un’immagine ARGB pixel a 32 bit. | 
| GetDefaultArgb32Pixels(Rectangle) | Ottiene l’array di pixel ARGB a 32 bit predefinito. | 
| virtual GetDefaultOptions(object[]) | Ottiene le opzioni predefinite. | 
| GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) | Ottiene l’array di pixel predefinito utilizzando il caricatore di pixel parziale. | 
| GetDefaultRawData(Rectangle, RawDataSettings) | Ottiene l’array di dati grezzi predefinito. | 
| GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) | Ottiene l’array di dati grezzi predefinito utilizzando il caricatore di pixel parziale. | 
| virtual GetModifyDate(bool) | Ottiene la data e l’ora dell’ultima modifica dell’immagine della risorsa. | 
| virtual GetOriginalOptions() | Ottiene le opzioni in base alle impostazioni del file originale. Questo può essere utile per mantenere invariati la profondità di bit e altri parametri dell’immagine originale. Ad esempio, se carichiamo un’immagine PNG in bianco e nero con 1 bit per pixel e quindi salvalo usando il Savemetodo, verrà prodotta l’immagine PNG di output con 8 bit per pixel. Per evitarlo e salvare l’immagine PNG con 1 bit per pixel, utilizzare questo metodo per ottenere le opzioni di salvataggio corrispondenti e passarle alSavemetodo come secondo parametro. | 
| GetPixel(int, int) | Ottiene un pixel dell’immagine. | 
| GetSkewAngle() | Ottiene l’angolo di inclinazione. Questo metodo è applicabile ai documenti di testo scansionati, per determinare l’angolo di inclinazione durante la scansione. | 
| override Grayscale() | Trasformazione di un’immagine nella sua rappresentazione in scala di grigi | 
| InsertPage(int) | Inserisce una nuova pagina nell’elenco delle pagine in corrispondenza dell’indice specificato. | 
| LoadArgb32Pixels(Rectangle) | Carica pixel ARGB a 32 bit. | 
| LoadArgb64Pixels(Rectangle) | Carica pixel ARGB a 64 bit. | 
| LoadCmyk32Pixels(Rectangle) | Carica i pixel in formato CMYK. | 
| LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) | Carica i pixel ARGB a 32 bit parzialmente per pacchetti. | 
| LoadPartialPixels(Rectangle, IPartialPixelLoader) | Carica i pixel parzialmente per pacchetti. | 
| LoadPixels(Rectangle) | Carica pixel. | 
| LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) | Carica dati grezzi. | 
| LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) | Carica dati grezzi. | 
| NormalizeAngle() | Normalizza l’angolo. Questo metodo è applicabile ai documenti di testo scansionati per eliminare la scansione obliqua. Questo metodo utilizza GetSkewAngleeRotatemetodi. | 
| override NormalizeAngle(bool, Color) | Normalizza l’angolo. Questo metodo è applicabile ai documenti di testo scansionati per eliminare la scansione obliqua. Questo metodo utilizza!:GetSkewAngle e Rotatemetodi. | 
| ReadArgb32ScanLine(int) | Legge l’intera linea di scansione in base all’indice della linea di scansione specificato. | 
| ReadScanLine(int) | Legge l’intera linea di scansione in base all’indice della linea di scansione specificato. | 
| RemovePage(int) | Rimuove la pagina in corrispondenza dell’indice specificato dell’elenco delle pagine. | 
| ReplaceColor(Color, byte, Color) | Sostituisce un colore con un altro con la differenza consentita e conserva il valore alfa originale per salvare i bordi smussati. | 
| override ReplaceColor(int, byte, int) | Sostituisce un colore con un altro con la differenza consentita e conserva il valore alfa originale per salvare i bordi smussati. | 
| ReplaceNonTransparentColors(Color) | Sostituisce tutti i colori non trasparenti con un nuovo colore e conserva il valore alfa originale per salvare i bordi smussati. Nota: se lo usi su immagini senza trasparenza, tutti i colori verranno sostituiti con uno solo. | 
| override ReplaceNonTransparentColors(int) | Sostituisce tutti i colori non trasparenti con un nuovo colore e conserva il valore alfa originale per salvare i bordi smussati. Nota: se lo usi su immagini senza trasparenza, tutti i colori verranno sostituiti con uno solo. | 
| Resize(int, int) | Ridimensiona l’immagine. Il predefinitoNearestNeighbourResample viene utilizzato. | 
| override Resize(int, int, ImageResizeSettings) | Ridimensiona l’immagine. | 
| override Resize(int, int, ResizeType) | Ridimensiona l’immagine. | 
| ResizeHeightProportionally(int) | Ridimensiona proporzionalmente l’altezza. Il predefinitoNearestNeighbourResample viene utilizzato. | 
| virtual ResizeHeightProportionally(int, ImageResizeSettings) | Ridimensiona proporzionalmente l’altezza. | 
| override ResizeHeightProportionally(int, ResizeType) | Ridimensiona proporzionalmente la larghezza. | 
| ResizeProportional(int, int, ResizeType) | Esegue il ridimensionamento proporzionale sull’immagine. Il ridimensionamento proporzionale ridimensionerà ogni fotogramma in base al rapporto dinewWidth/larghezza enewHeight /altezza. | 
| ResizeWidthProportionally(int) | Ridimensiona proporzionalmente la larghezza. Il predefinitoNearestNeighbourResample viene utilizzato. | 
| virtual ResizeWidthProportionally(int, ImageResizeSettings) | Ridimensiona proporzionalmente la larghezza. | 
| override ResizeWidthProportionally(int, ResizeType) | Ridimensiona proporzionalmente la larghezza. | 
| virtual Rotate(float) | Ruota l’immagine attorno al centro. | 
| override Rotate(float, bool, Color) | !:RasterCahcedMultipageImage.Rotate immagine intorno al centro. | 
| override RotateFlip(RotateFlipType) | Ruota, capovolge o ruota e capovolge solo il fotogramma attivo. | 
| Save() | Salva i dati dell’immagine nel flusso sottostante. | 
| Save(Stream) | Salva i dati dell’oggetto nel flusso specificato. | 
| override Save(string) | Salva l’immagine nella posizione del file specificata. | 
| Save(Stream, ImageOptionsBase) | Salva i dati dell’immagine nel flusso specificato nel formato file specificato in base alle opzioni di salvataggio. | 
| virtual Save(string, bool) | Salva i dati dell’oggetto nella posizione del file specificata. | 
| virtual Save(string, ImageOptionsBase) | Salva i dati dell’oggetto nel percorso file specificato nel formato file specificato in base alle opzioni di salvataggio. | 
| override Save(Stream, ImageOptionsBase, Rectangle) | Salva i dati dell’immagine nel flusso specificato nel formato file specificato in base alle opzioni di salvataggio. | 
| virtual Save(string, ImageOptionsBase, Rectangle) | Salva i dati dell’oggetto nel percorso file specificato nel formato file specificato in base alle opzioni di salvataggio. | 
| SaveAll(string, ImageOptionsBase) | Salva i dati dell’oggetto nella posizione del file specificato (indicizzatore + nome file) nel formato file specificato in base alle opzioni di salvataggio.. | 
| SaveArgb32Pixels(Rectangle, int[]) | Salva i pixel ARGB a 32 bit. | 
| SaveCmyk32Pixels(Rectangle, int[]) | Salva i pixel. | 
| SavePixels(Rectangle, Color[]) | Salva i pixel. | 
| SaveRawData(byte[], int, Rectangle, RawDataSettings) | Salva i dati grezzi. | 
| SetArgb32Pixel(int, int, int) | Imposta un pixel ARGB a 32 bit dell’immagine per la posizione specificata. | 
| override SetPalette(IColorPalette, bool) | Imposta la tavolozza dell’immagine. | 
| SetPixel(int, int, Color) | Imposta un pixel dell’immagine per la posizione specificata. | 
| override SetResolution(double, double) | Imposta la risoluzione per questo RasterImage. | 
| virtual ToBitmap() | Converte l’immagine raster in bitmap. | 
| WriteArgb32ScanLine(int, int[]) | Scrive l’intera linea di scansione nell’indice della linea di scansione specificato. | 
| WriteScanLine(int, Color[]) | Scrive l’intera linea di scansione nell’indice della linea di scansione specificato. | 
Esempi
Cambia il tipo di colore nella compressione DICOM.
[C#]
using (var inputImage = Image.Load("original.jpg"))
{
    var options = new DicomOptions { ColorType = ColorType.Grayscale8Bit };
    inputImage.Save("original_8Bit.dcm", options);
}
Usa la compressione RLE nell’immagine DICOM.
[C#]
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);
}
Utilizzare la compressione JPEG 2000 nell’immagine DICOM.
[C#]
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);
}
Usa la compressione JPEG nell’immagine DICOM.
[C#]
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);
}
Questo esempio mostra come caricare un’immagine DICOM da un flusso di file.
[C#]
string dir = "c:\\temp\\";
// Carica un'immagine DICOM da un flusso di file.
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))
    {
        // Salva ogni pagina come una singola immagine PNG.                    
        foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage dicomPage in dicomImage.DicomPages)
        {
            // Genera un nome file basato sull'indice della pagina.
            string fileName = string.Format("sample.{0}.png", dicomPage.Index);
            // Una pagina DICOM è un'immagine raster, quindi tutte le operazioni consentite con un'immagine raster sono applicabili a una pagina DICOM.
            dicomPage.Save(dir + fileName, new Aspose.Imaging.ImageOptions.PngOptions());
        }
    }
}
Crea un’immagine Dicom multipagina.
[C#]
using (DicomImage image = (DicomImage)Image.Create(
        new DicomOptions() { Source = new StreamSource(new MemoryStream()) },
        100,
        100))
{
    // Disegna qualcosa usando la grafica vettoriale
    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);
    // Salva i pixel dell'immagine disegnata. Ora sono sulla prima pagina dell'immagine Dicom.
    int[] pixels = image.LoadArgb32Pixels(image.Bounds);
    // Aggiungi alcune pagine dopo, rendendole più scure
    for (int i = 1; i < 5; i++)
    {
        DicomPage page = image.AddPage();
        page.SaveArgb32Pixels(page.Bounds, pixels);
        page.AdjustBrightness(i * 30);
    }
    // Aggiungi alcune pagine davanti alla pagina principale, rendendole più luminose
    for (int i = 1; i < 5; i++)
    {
        DicomPage page = image.InsertPage(0);
        page.SaveArgb32Pixels(page.Bounds, pixels);
        page.AdjustBrightness(-i * 30);
    }
    // Salva l'immagine multipagina creata nel file di output
    image.Save("MultiPage.dcm");
}
Guarda anche
- class RasterCachedMultipageImage
- interface IMultipageImageExt
- spazio dei nomi Aspose.Imaging.FileFormats.Dicom
- assemblea Aspose.Imaging