DicomImage

DicomImage class

إنها فئة التنفيذ التي تعمل مع الصورة من DICOM file

public sealed class DicomImage : RasterCachedMultipageImage, IMultipageImageExt

المنشئون

اسموصف
DicomImage(Stream)يقوم بتهيئة مثيل جديد لملفDicomImage فئة .
DicomImage(Stream, LoadOptions)يقوم بتهيئة مثيل جديد لملفDicomImage فئة .
DicomImage(DicomOptions, int, int)يقوم بتهيئة مثيل جديد لملفDicomImage فئة .

الخصائص

اسموصف
ActivePage { get; set; }الحصول على الصفحة النشطة أو تعيينها.
ActivePageIndex { get; }الحصول على صفحة الفهرس النشطة.
AutoAdjustPalette { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كانت لوحة الضبط التلقائي.
override BackgroundColor { get; set; }الحصول على أو تعيين قيمة للون الخلفية .
override BitsPerPixel { get; }الحصول على عدد بتات الصورة لكل بكسل .
Bounds { get; }يحصل على حدود الصورة .
BufferSizeHint { get; set; }الحصول على أو تعيين تلميح حجم المخزن المؤقت الذي تم تحديده بالحجم الأقصى المسموح به لجميع المخازن المؤقتة الداخلية.
Container { get; }يحصل على ملفImage حاوية .
DataStreamContainer { get; }يحصل على دفق بيانات الكائن.
DicomPages { get; }الحصول على الصفحات .
Disposed { get; }يحصل على قيمة تشير إلى ما إذا كان هذا المثيل قد تم التخلص منه.
override FileFormat { get; }يحصل على قيمة تنسيق الملف
FileInfo { get; }يحصل على قيمة تحتوي على معلومات رأس DICOM file
override HasAlpha { get; }يحصل على قناة ألفا .
virtual HasBackgroundColor { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كانت الصورة لها لون خلفية.
override HasTransparentColor { get; }يحصل على قيمة تشير إلى ما إذا كانت الصورة ذات لون شفاف.
override Height { get; }الحصول على ارتفاع الصورة .
virtual HorizontalResolution { get; set; }الحصول على أو تعيين الدقة الأفقية ، بالبكسل في البوصة ، لهذاRasterImage .
override ImageOpacity { get; }يحصل على عتامة هذه الصورة .
InterruptMonitor { get; set; }الحصول على أو تعيين شاشة المقاطعة.
IsCached { get; }يحصل على قيمة تشير إلى ما إذا كانت بيانات الصورة مخزنة مؤقتًا حاليًا.
IsRawDataAvailable { get; }يحصل على قيمة تشير إلى ما إذا كان تحميل البيانات الأولية متاحًا.
override PageCount { get; }الحصول على عدد الصفحات .
override PageExportingAction { get; set; }الحصول على إجراء تصدير الصفحة أو تعيينه . يرجى ملاحظة أن تعيين هذه الطريقة سيؤدي تلقائيًا إلى تحرير موارد الصفحة بعد تنفيذها. سيتم تنفيذها قبل حفظ كل صفحة مباشرةً.
override Pages { get; }الحصول على الصفحات .
Palette { get; set; }الحصول على لوحة الألوان أو تعيينها. لا يتم استخدام لوحة الألوان عندما يتم تمثيل وحدات البكسل مباشرةً.
virtual PremultiplyComponents { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كان يجب مضاعفة مكونات الصورة مسبقًا.
RawCustomColorConverter { get; set; }الحصول على أو تعيين محول الألوان المخصص
virtual RawDataFormat { get; }يحصل على تنسيق البيانات الأولية.
RawDataSettings { get; }يحصل على إعدادات البيانات الأولية الحالية. ملاحظة عند استخدام هذه الإعدادات ، يتم تحميل البيانات بدون تحويل.
RawFallbackIndex { get; set; }الحصول على الفهرس الاحتياطي أو تعيينه لاستخدامه عندما يكون فهرس اللوحة خارج الحدود
RawIndexedColorConverter { get; set; }الحصول على أو تعيين محول الألوان المفهرس
virtual RawLineSize { get; }الحصول على حجم الخط الخام بالبايت.
Size { get; }يحصل على حجم الصورة .
virtual TransparentColor { get; set; }الحصول على لون شفاف للصورة .
virtual UpdateXmpData { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كان سيتم تحديث بيانات تعريف XMP.
override UsePalette { get; }يحصل على قيمة تشير إلى ما إذا كانت لوحة الصور مستخدمة.
virtual UseRawData { get; set; }الحصول على أو تعيين قيمة تشير إلى ما إذا كان سيتم استخدام تحميل البيانات الأولية عند توفر تحميل البيانات الأولية.
virtual VerticalResolution { get; set; }الحصول على أو تحديد الدقة الرأسية ، بالبكسل في البوصة ، لهذاRasterImage .
override Width { get; }الحصول على عرض الصورة .
override XmpData { get; set; }الحصول على أو تعيين بيانات Xmp .

طُرق

اسموصف
AddPage()إضافة صفحة جديدة إلى نهاية قائمة الصفحات.
AddPage(RasterImage)يضيف صفحة للصورة.
override AdjustBrightness(int)ضبط أbrightness للصورة .
override AdjustContrast(float)Image التباين
override AdjustGamma(float)تصحيح جاما لصورة .
override AdjustGamma(float, float, float)تصحيح جاما لصورة .
override BinarizeBradley(double)ثنائية الصورة باستخدام خوارزمية العتبة التكيفية لبرادلي باستخدام عتبة الصورة المتكاملة
override BinarizeBradley(double, int)ثنائية الصورة باستخدام خوارزمية العتبة التكيفية لبرادلي باستخدام عتبة الصورة المتكاملة
override BinarizeFixed(byte)ثنائية الصورة مع عتبة محددة مسبقًا
override BinarizeOtsu()ثنائية الصورة مع عتبة Otsu
override CacheData()تخزين البيانات الخاصة.
CanSave(ImageOptionsBase)يحدد ما إذا كان يمكن حفظ الصورة بتنسيق الملف المحدد الذي تم تمثيله بواسطة خيارات الحفظ التي تم تمريرها.
override Crop(Rectangle)اقتصاص الصورة .
override Crop(int, int, int, int)اقتصاص الصورة مع التحولات .
Dispose()التخلص من المثيل الحالي .
Dither(DitheringMethod, int)يقوم بالتردد على الصورة الحالية.
override Dither(DitheringMethod, int, IColorPalette)يقوم بالتردد على الصورة الحالية.
override Filter(Rectangle, FilterOptionsBase)يقوم بتصفية المستطيل المحدد .
GetArgb32Pixel(int, int)الحصول على صورة ARGB بكسل 32 بت .
GetDefaultArgb32Pixels(Rectangle)الحصول على صفيف ARGB بكسل الافتراضي 32 بت.
virtual GetDefaultOptions(object[])يحصل على الخيارات الافتراضية .
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader)الحصول على مصفوفة البكسل الافتراضية باستخدام محمل البكسل الجزئي.
GetDefaultRawData(Rectangle, RawDataSettings)يحصل على مصفوفة البيانات الأولية الافتراضية.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings)الحصول على مصفوفة البيانات الأولية الافتراضية باستخدام محمل البكسل الجزئي.
virtual GetModifyDate(bool)الحصول على تاريخ ووقت آخر تعديل لصورة المورد.
virtual GetOriginalOptions()الحصول على الخيارات بناءً على إعدادات الملف الأصلية. يمكن أن يكون هذا مفيدًا للحفاظ على عمق البت والمعلمات الأخرى للصورة الأصلية دون تغيير . على سبيل المثال ، إذا قمنا بتحميل صورة PNG أبيض وأسود مع 1 بت لكل بكسل ثم احفظه باستخدام the Save الطريقة ، سيتم إنتاج صورة PNG الناتجة بمعدل 8 بت لكل بكسل. لتجنب ذلك وحفظ صورة PNG بمعدل 1 بت لكل بكسل ، استخدم هذه الطريقة للحصول على خيارات الحفظ المقابلة وتمريرها إلىSave الطريقة كمعامل ثاني.
GetPixel(int, int)الحصول على بكسل صورة .
GetSkewAngle()الحصول على زاوية الانحراف. هذه الطريقة قابلة للتطبيق على المستندات النصية الممسوحة ضوئيًا ، لتحديد زاوية الانحراف عند المسح.
override Grayscale()تحويل الصورة إلى تمثيلها بالتدرج الرمادي
InsertPage(int)إدراج صفحة جديدة في قائمة الصفحات بالفهرس المحدد.
LoadArgb32Pixels(Rectangle)تحميل 32 بت ARGB بكسل .
LoadArgb64Pixels(Rectangle)تحميل 64 بت ARGB بكسل .
LoadCmyk32Pixels(Rectangle)تحميل وحدات البكسل بتنسيق CMYK .
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)تحميل 32 بت ARGB بكسل جزئيًا بواسطة الحزم.
LoadPartialPixels(Rectangle, IPartialPixelLoader)يتم تحميل وحدات البكسل جزئيًا بالحزم .
LoadPixels(Rectangle)تحميل بكسل .
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)تحميل البيانات الأولية .
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)تحميل البيانات الأولية .
NormalizeAngle()تطبيع الزاوية. هذه الطريقة قابلة للتطبيق على المستندات النصية الممسوحة ضوئيًا للتخلص من المسح المنحرف. تستخدم هذه الطريقةGetSkewAngle وRotate الطرق .
override NormalizeAngle(bool, Color)تطبيع الزاوية. هذه الطريقة قابلة للتطبيق على المستندات النصية الممسوحة ضوئيًا للتخلص من المسح المنحرف. تستخدم هذه الطريقة!:GetSkewAngle وRotate الطرق .
ReadArgb32ScanLine(int)يقرأ خط المسح بالكامل بواسطة فهرس خط المسح المحدد.
ReadScanLine(int)يقرأ خط المسح بالكامل بواسطة فهرس خط المسح المحدد.
RemovePage(int)يزيل الصفحة الموجودة في الفهرس المحدد لقائمة الصفحات.
ReplaceColor(Color, byte, Color)يستبدل لونًا بآخر بالاختلاف المسموح به ويحتفظ بقيمة ألفا الأصلية لحفظ الحواف المتجانسة.
override ReplaceColor(int, byte, int)يستبدل لونًا بآخر بالاختلاف المسموح به ويحتفظ بقيمة ألفا الأصلية لحفظ الحواف المتجانسة.
ReplaceNonTransparentColors(Color)يستبدل كل الألوان غير الشفافة بلون جديد ويحتفظ بقيمة ألفا الأصلية لحفظ الحواف الناعمة . ملاحظة: إذا كنت تستخدمها على صور بدون شفافية ، فسيتم استبدال كل الألوان بواحد.
override ReplaceNonTransparentColors(int)يستبدل كل الألوان غير الشفافة بلون جديد ويحتفظ بقيمة ألفا الأصلية لحفظ الحواف الناعمة . ملاحظة: إذا كنت تستخدمها على صور بدون شفافية ، فسيتم استبدال كل الألوان بأخرى.
Resize(int, int)يغير حجم الصورة. الافتراضيNearestNeighbourResample يستخدم .
override Resize(int, int, ImageResizeSettings)يغير حجم الصورة.
override Resize(int, int, ResizeType)يغير حجم الصورة.
ResizeHeightProportionally(int)يغير حجم الارتفاع بشكل متناسب. الافتراضيNearestNeighbourResample يستخدم .
virtual ResizeHeightProportionally(int, ImageResizeSettings)يغير حجم الارتفاع بشكل متناسب .
override ResizeHeightProportionally(int, ResizeType)يغير حجم العرض بشكل متناسب .
ResizeProportional(int, int, ResizeType)يؤدي تغيير الحجم النسبي على الصورة. سيؤدي تغيير الحجم النسبي إلى تغيير حجم كل إطار وفقًا لنسبةnewWidth العرض وnewHeight / ارتفاع .
ResizeWidthProportionally(int)يغير حجم العرض بشكل متناسب. الافتراضيNearestNeighbourResample يستخدم .
virtual ResizeWidthProportionally(int, ImageResizeSettings)يغير حجم العرض بشكل متناسب .
override ResizeWidthProportionally(int, ResizeType)يغير حجم العرض بشكل متناسب .
virtual Rotate(float)تدوير الصورة حول المركز .
override Rotate(float, bool, Color)!:RasterCahcedMultipageImage.Rotate الصورة حول المركز .
override RotateFlip(RotateFlipType)يقوم بتدوير الإطار النشط فقط أو قلبه أو تدويره وقلبه.
Save()يحفظ بيانات الصورة في التدفق الأساسي.
Save(Stream)يحفظ بيانات الكائن في الدفق المحدد.
override Save(string)يحفظ الصورة في موقع الملف المحدد.
Save(Stream, ImageOptionsBase)يحفظ بيانات الصورة إلى التدفق المحدد بتنسيق الملف المحدد وفقًا لخيارات الحفظ.
virtual Save(string, bool)يحفظ بيانات الكائن في موقع الملف المحدد.
virtual Save(string, ImageOptionsBase)يحفظ بيانات الكائن في موقع الملف المحدد بتنسيق الملف المحدد وفقًا لخيارات الحفظ.
override Save(Stream, ImageOptionsBase, Rectangle)يحفظ بيانات الصورة إلى التدفق المحدد بتنسيق الملف المحدد وفقًا لخيارات الحفظ.
virtual Save(string, ImageOptionsBase, Rectangle)يحفظ بيانات الكائن في موقع الملف المحدد بتنسيق الملف المحدد وفقًا لخيارات الحفظ.
SaveAll(string, ImageOptionsBase)يحفظ بيانات الكائن في موقع الملف المحدد (المفهرس + اسم الملف) بتنسيق الملف المحدد وفقًا لخيارات الحفظ ..
SaveArgb32Pixels(Rectangle, int[])يحفظ 32 بت ARGB بكسل .
SaveCmyk32Pixels(Rectangle, int[])يحفظ البكسل .
SavePixels(Rectangle, Color[])يحفظ البكسل .
SaveRawData(byte[], int, Rectangle, RawDataSettings)يحفظ البيانات الأولية .
SetArgb32Pixel(int, int, int)يضبط صورة ARGB بكسل 32 بت للوضع المحدد.
override SetPalette(IColorPalette, bool)يضبط لوحة الصور .
SetPixel(int, int, Color)يضبط بكسل الصورة للوضع المحدد.
override SetResolution(double, double)يضبط الدقة لهذا الغرضRasterImage .
virtual ToBitmap()تحويل الصورة النقطية إلى الصورة النقطية.
WriteArgb32ScanLine(int, int[])يكتب خط المسح بالكامل إلى فهرس خط المسح المحدد.
WriteScanLine(int, Color[])يكتب خط المسح بالكامل إلى فهرس خط المسح المحدد.

أمثلة

تغيير نوع اللون في ضغط 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 dir = "c:\\temp\\";

// تحميل صورة DICOM من دفق ملف.
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))
    {
        // احفظ كل صفحة كصورة PNG فردية.                    
        foreach (Aspose.Imaging.FileFormats.Dicom.DicomPage dicomPage in dicomImage.DicomPages)
        {
            // قم بإنشاء اسم ملف بناءً على فهرس الصفحة.
            string fileName = string.Format("sample.{0}.png", dicomPage.Index);

            // صفحة DICOM هي صورة نقطية ، لذا فإن جميع العمليات المسموح بها باستخدام صورة نقطية قابلة للتطبيق على صفحة DICOM.
            dicomPage.Save(dir + fileName, new Aspose.Imaging.ImageOptions.PngOptions());
        }
    }
}

قم بإنشاء صورة 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");
}

أنظر أيضا