DicomOptions

DicomOptions class

Параметры создания формата файла DICOM.

public class DicomOptions : ImageOptionsBase

Конструкторы

ИмяОписание
DicomOptions()Конструктор по умолчанию.

Характеристики

ИмяОписание
BufferSizeHint { get; set; }Получает или задает подсказку о размере буфера, которая определяет максимально допустимый размер для всех внутренних буферов.
ColorType { get; set; }Получает или задает тип цвета.
Compression { get; set; }Получает или задает сжатие.
Disposed { get; }Получает значение, указывающее, удален ли этот экземпляр.
FullFrame { get; set; }Получает или задает значение, указывающее, является ли [полный кадр].
MultiPageOptions { get; set; }Многостраничные параметры
virtual Palette { get; set; }Получает или задает цветовую палитру.
ProgressEventHandler { get; set; }Получает или задает обработчик события выполнения.
virtual ResolutionSettings { get; set; }Получает или задает параметры разрешения.
Source { get; set; }Получает или задает источник для создания изображения в.
VectorRasterizationOptions { get; set; }Получает или задает параметры векторной растеризации.
override XmpData { get; set; }Получает или задает данные Xmp.

Методы

ИмяОписание
virtual Clone()Клонирует этот экземпляр.
Dispose()Удаляет текущий экземпляр.

Примеры

Изменить тип цвета при сжатии DICOM.

[C#]

using (var inputImage = Image.Load("original.jpg"))
{
    var options = new DicomOptions { ColorType = ColorType.Grayscale8Bit };

    inputImage.Save("original_8Bit.dcm", options);
}

Используйте сжатие RLE в изображении 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);
}

Используйте сжатие JPEG 2000 в изображении 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);
}

Используйте сжатие JPEG в изображении 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);
}

В следующем примере показан экспорт в формат файла DICOM (одностраничный и многостраничный).

[C#]

string fileName = "sample.jpg";
string inputFileNameSingle = fileName;
string inputFileNameMultipage = "multipage.tif";
string outputFileNameSingleDcm = "output.dcm";
string outputFileNameMultipageDcm = "outputMultipage.dcm";

// Следующий пример кода преобразует изображение JPEG в формат файла DICOM
using (var image = Aspose.Imaging.Image.Load(inputFileNameSingle))
{
    image.Save(outputFileNameSingleDcm, new Aspose.Imaging.ImageOptions.DicomOptions());
}

// Формат DICOM поддерживает многостраничные изображения. Вы можете конвертировать изображения GIF или TIFF в DICOM так же, как изображения JPEG.
using (var imageMultiple = Aspose.Imaging.Image.Load(inputFileNameMultipage))
{
    imageMultiple.Save(outputFileNameMultipageDcm, new Aspose.Imaging.ImageOptions.DicomOptions());
}

Создайте многостраничное изображение Dicom.

[C#]

using (DicomImage image = (DicomImage)Image.Create(
        new DicomOptions() { Source = new StreamSource(new MemoryStream()) },
        100,
        100))
{
    // Рисуем что-нибудь с помощью векторной графики
    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);

    // Сохраняем пиксели нарисованного изображения. Теперь они находятся на первой странице изображения Dicom.
    int[] pixels = image.LoadArgb32Pixels(image.Bounds);

    // Добавляем несколько страниц после, делая их темнее
    for (int i = 1; i < 5; i++)
    {
        DicomPage page = image.AddPage();
        page.SaveArgb32Pixels(page.Bounds, pixels);
        page.AdjustBrightness(i * 30);
    }

    // Добавляем несколько страниц перед главной, делая их ярче
    for (int i = 1; i < 5; i++)
    {
        DicomPage page = image.InsertPage(0);
        page.SaveArgb32Pixels(page.Bounds, pixels);
        page.AdjustBrightness(-i * 30);
    }

    // Сохраняем созданное многостраничное изображение в выходной файл
    image.Save("MultiPage.dcm");
}

Смотрите также