Class DicomImage
اسم الفضاء : Aspose.Imaging.FileFormats.Dicom تجميع: Aspose.Imaging.dll (25.4.0)
هذه الفئة تنفذ الصورة الرقمية والاتصالات في الطب(DICOM) يدعم تنسيق الصورة العريضة ويقدم حل شامل لمعالجة الصور DICOM مع الدقة والمرونة.التعامل مع صفحات الصورة، بما في ذلك عمليات الحصول على أو إضافة أو إزالة الصفحات،التحكم في الصفحات الافتراضية والنشطة.مع القدرة على العمل مع قنوات ألفا،إدخال XMP البيانات المعدلة، إعادة تدوير، الدوران، زراعة، ثنائية، تعديل، تطبيق الفلاتر،وتحويلها إلى تنسيقات أخرى.هذا API يتيح للمطورين التعامل معDICOM صور فعالة مع تلبية متطلبات التطبيق المختلفة فيالصورة الطبية في السياق.
[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
الأعضاء الموروثين
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
تغيير نوع اللون في ضغط DICOM.
using (var inputImage = Image.Load("original.jpg"))
{
var options = new DicomOptions { ColorType = ColorType.Grayscale8Bit };
inputImage.Save("original_8Bit.dcm", options);
}
استخدم ضغط RLE في صورة 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);
}
استخدم ضغط JPEG 2000 في صورة 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);
}
استخدم ضغط JPEG في صورة 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);
}
هذا المثال يظهر كيفية تحميل صورة DICOM من تدفق الملفات.
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());
}
}
}
إنشاء صورة متعددة الصفحات Dicom.
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(الوسوم، إنت، إنت)
ابدأ مثالًا جديدًا من فئة DicomImage بسهولة مع هذابناء, باستخدام dicomOptions المعلمات. مثالية للمطورين يبحثونللغوص في Aspose.Imaging.FileFormats.Dicom.DicomImage الأشياء بسرعة وفعالية في مشاريعهم.
public DicomImage(DicomOptions dicomOptions, int width, int height)
Parameters
dicomOptions
DicomOptions
خيارات ديكوم
width
int
على نطاق
height
int
الارتفاع .
DicomImage(تداول الخيارات , LoadOptions)
إطلاق مثال جديد من فئة DicomImage بسلاسة من خلال استخدام تدفق وتحميلاختيارات المعلمات في هذا البناء. مثالية للمطورين يرغبون في البدءالعمل مع Aspose.Imaging.FileFormats.Dicom.DicomImage الأشياء بسرعة وفعالية في مشاريعهم.
public DicomImage(Stream stream, LoadOptions loadOptions)
Parameters
stream
Stream
من التدفق .
loadOptions
LoadOptions
خيارات الحمل .
Examples
هذا المثال يظهر كيفية تحميل صورة DICOM من تدفق الملفات للبقاء ضمن حدود الذاكرة المحددة.
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)
إنشاء مثال جديد من فئة DicomImage باستخدام معيار التدفقفي هذا البناء. مثالية للمطورين الذين يبحثون عن طريقة سليمة لبدءAspose.Imaging.FileFormats.Dicom.DicomImage الكائنات من تدفقات البيانات الموجودة في مشاريعهم.
public DicomImage(Stream stream)
Parameters
stream
Stream
من التدفق .
Examples
هذا المثال يظهر كيفية تحميل صورة DICOM من تدفق الملفات.
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
إدارة الصفحة النشطة للصورة مع هذه الخصائص البصرية مثالية للمطورينتسعى إلى التبديل الديناميكي بين الصفحات داخل صور متعددة الصفحات، وضمان كفاءةالملاحة والمعالجة.
public DicomPage ActivePage { get; set; }
قيمة الممتلكات
Exceptions
لا يمكن تعيين الصفحة النشطة لأنها تنتمي إلى صورة أخرى.
ActivePageIndex
استرداد مؤشر الصفحة النشطة بسهولة مع هذه الخصائص البصرية.مثالية للمطورين الذين يبحثون عن إمكانية الوصول السريع إلى مؤشر الصفحة الحالي داخل العديد من الصفحاتالصور، وضمان الملاحة والمعالجة الفعالة.
public int ActivePageIndex { get; }
قيمة الممتلكات
DicomPages
الوصول إلى صفحات الصورة مع هذه الخصائص البصرية مثالية للمطورينيحاول التفاعل مع الصفحات الفردية داخل الصورة، وضمان اللامبالاةالملاحة والتلاعب.
public DicomPage[] DicomPages { get; }
قيمة الممتلكات
DicomPage [ ]
FileFormat
استرداد قيمة تنسيق الملف بسهولة مع هذه الخصائص البصرية.المطورين الذين يبحثون عن الوصول السريع إلى تنسيق ملف الصورة، وضمان كفاءةمعالجة ومعالجة استنادا إلى نوع الملف.
public override FileFormat FileFormat { get; }
قيمة الممتلكات
FileInfo
استرداد معلومات العنوان القيمة من ملف DICOM بسهولة مع هذاالممتلكات المثالية للمطورين الذين يبحثون عن إمكانية الوصول السريع إلى التفاصيل الأساسيةيتم تغطيتها داخل ملف DICOM ، مما يضمن استخراج البيانات وتحليلها بكفاءة.
public DicomImageInfo FileInfo { get; }
قيمة الممتلكات
HasAlpha
تحديد ما إذا كانت الصورة لديها قناة ألفا بسهولة مع هذا البصريالممتلكات المثالية للمطورين الذين يبحثون عن تحديد ما إذا كانت الصورة تحتوي على شفافيةالمعلومات، وضمان التعامل الدقيق مع بيانات قناة ألفا في مهام معالجة الصور.
public override bool HasAlpha { get; }
قيمة الممتلكات
PageCount
احصل على عدد الصفحات الإجمالي للصورة مع هذه الخصائص البصرية.المطورين الذين يبحثون عن إمكانية الوصول السريع إلى عدد الصفحات داخل الصورة،الملاحة السليمة والإدارة.
public override int PageCount { get; }
قيمة الممتلكات
Pages
الوصول إلى صفحات الصورة مع هذه الخصائص البصرية مثالية للمطورينالبحث عن التفاعل مع الصفحات الفردية داخل الصورة، وضمان الملاحة اللامبالاةو التلاعب .
public override Image[] Pages { get; }
قيمة الممتلكات
Image [ ]
Methods
AddPage(RasterImage)
توسيع مجموعة الصور الخاصة بك عن طريق إضافة صفحة جديدة باستخدام هذه الطريقة البصرية.مثالية للمطورين الذين يرغبون في إضافة صفحات ديناميكية إلى صور متعددة الصفحات ،ضمان التوسع المستمر وتنظيم محتوى الصورة.
public void AddPage(RasterImage page)
Parameters
page
RasterImage
الصفحة التي أضيفها
Exceptions
page’ is null.
AddPage()
إضافة صفحة جديدة إلى نهاية قائمة الصفحات في الصورة باستخدام هذه الطريقة البسيطة.مثالية للمطورين الذين يرغبون في توسيع صور متعددة الصفحات بشكل ديناميكي ، مما يضمن عدم وجود علامةإدماج وتنظيم محتوى الصورة.
public DicomPage AddPage()
Returns
تم إنشاء Aspose.Imaging.FileFormats.Dicom.DicomPage.
Examples
إنشاء صورة متعددة الصفحات Dicom.
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(إنت)
تحسين إضاءة الصورة من خلال تعديل brightness" ، وهي طريقة معدلة تتيح للمطورين تنسيق إضاءة الصور بشكل جيد.هذه الوظيفة سهلة الاستخدام تسمح للمطورين بالتلاعب بسهولة في إضاءة الصورة ، وتوفير مرونة والسيطرة على الجمال البصري.
public override void AdjustBrightness(int brightness)
Parameters
brightness
int
قيمة الضوء
Examples
في المثال التالي ، يتم إجراء تصحيح الضوء لصورة 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(السفينة)
تحسين Aspose.Imaging.Image تناقض مع هذه الطريقة سهلة الاستخدام،التي تعديل الاختلافات بين الضوء والمناطق المظلمة وتحسين الوضوح البصريتعريف بسهولة، وتوفير المطورين مع السيطرة الفكرية علىالتصوير الفوتوغرافي للحصول على التصوير الأمثل.
public override void AdjustContrast(float contrast)
Parameters
contrast
float
قيمة التباين (في نطاق [-100؛ 100])
Examples
في المثال التالي ، يتم إجراء تصحيح تناقض لصورة 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(السفينة)
تحسين جودة الصورة وتعديلها باستخدام تصحيح غاما، تقنية قويةالمظهر البصري المثالي للمطورين الذين يهدفون إلى تحسين الصورةالتقديم، وتعديل توازن الألوان، وضمان التقديم المتسق بين مختلفالأجهزة والبيئات.
public override void AdjustGamma(float gamma)
Parameters
gamma
float
غاما لعدد القنوات الحمراء والخضراء
Examples
في المثال التالي ، يتم إجراء تصحيح غاما للصورة 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(السفينة، السفينة، السفينة)
تحقيق تعديلات لون دقيقة عن طريق تطبيق تصحيح غاما بشكل مستقلإلى المكونات الحمراء والخضراء والأزرق للصورة.هذه الطريقة تضمن دقةتوازن الألوان والإنتاج البصري الأمثل ، وتغذية المطورين الذين يبحثون عن حبوب منع الحملالتحكم في تصفية الصورة ودقة الألوان.
public override void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
القناة الحمراء معدل القناة الحمراء
gammaGreen
float
غاما لـ قناة خضراء
gammaBlue
float
القناة الزرقاء معدل القناة الزرقاء
Examples
يقدم المثال التالي تصحيح غاما للصورة 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 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(المزدوج، إنت)
تحويل الصور مع خوارزمية Bradley التكيفية الحد الأقصى، التكيف الكاملالحد الأقصى للصورة لتحسين الأداء.مثالي للمطورين الذين يرغبون فيتلقائيًا تقسيم الصور استنادًا إلى الاختلافات المحلية في الضوء ، مما يضمندقة الكشف عن الكائنات واستخراجها في ظروف الإضاءة المختلفة.
public override void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
الفرق في الضوء بين بكسل ومتوسط نافذة بكسل s x sتركز حول هذا البكسل.
windowSize
int
حجم نافذة x s من البكسلات التي تركز حول هذا البكسل
Examples
ويجمع المثال التالي صورة DICOM مع الخوارزميات التكيفية لـ Bradley مع حجم النافذة المحدد.
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(بيوت)
بسهولة تحويل الصورة إلى تنسيق ثنائي باستخدام الحد الأقصى المحدد مسبقامع هذه الطريقة البسيطة مثالية للمطورين الذين يرغبون في تبسيط الصورةمعالجة المهام عن طريق تقسيم الصورة إلى المكونات الأمامية والخلفيةوفقًا لمستويات الكثافة المحددة.
public override void BinarizeFixed(byte threshold)
Parameters
threshold
byte
إذا كانت القيمة الرمادية المقابلة للبكسل أكبر من الحد الأقصى، فإن قيمة255 سيتم تخصيصها ، 0 خلاف ذلك.
Examples
على سبيل المثال التالي ، يتم تحديد صورة 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;
// 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()
تطبيق أوتسو الحد الأقصى لتبني الصورة، وتحديد تلقائيا الأفضلقيمة الحد الأقصى استنادا إلى هيستوغرافية الصورة.مثالية للمطورين الذين يبحثون عنطريقة موثوقة لتقسيم الصور إلى مناطق الأمامية والخلفية معالحد الأدنى للتدخل اليدوي.
public override void BinarizeOtsu()
Examples
على سبيل المثال التالي ثنائي صورة DICOM مع أطراف Otsu. الصور الثنائية تحتوي على 2 ألوان فقط - الأسود والأبيض.
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()
هذه الطريقة تخزين البيانات بفعالية، وتحسين الأداء، وضمان الوصول السريعمثالية للمطورين الذين يرغبون في تحسين سرعة وكفاءةالتطبيقات من خلال إدارة موارد البيانات بذكاء.
public override void CacheData()
Examples
يظهر المثال التالي كيفية تخزين جميع الصفحات من صورة 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)
زرع الصورة لإزالة المناطق غير المرغوب فيها والتركيز على المحتوى الأساسي مع هذاطريقة بسيطة مثالية للمطورين الذين يرغبون في تخصيص التركيبة البصريةالصور، لضمان أنها تنقل الرسالة المطلوبة بشكل فعال.
public override void Crop(Rectangle rectangle)
Parameters
rectangle
Rectangle
من المستطيل .
Examples
يتم تحديد منطقة الحصاد من خلال 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(إنت، إنت، إنت، إنت)
تعديل منطقة الحفر للصورة عن طريق تطبيق التحولات باستخدام هذه الطريقة المتنوعة.مثالية للمطورين الذين يحتاجون إلى السيطرة الدقيقة على عملية الحصاد ، لضمانيتم الاحتفاظ بالتفاصيل الهامة مع القضاء على العناصر غير الضرورية.
public override void Crop(int leftShift, int rightShift, int topShift, int bottomShift)
Parameters
leftShift
int
يتغير اليسار .
rightShift
int
التغيير الصحيح
topShift
int
التغيير العلوي
bottomShift
int
التغيير السفلي .
Examples
على سبيل المثال التالي ، يتم زراعة صورة 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;
// Crop again. Set a margin of 10% of the image size.
int horizontalMargin = dicomImage.Width / 10;
int verticalMargin = dicomImage.Height / 10;
dicomImage.Crop(horizontalMargin, horizontalMargin, verticalMargin, verticalMargin);
// Save the cropped image to PNG.
dicomImage.Save(dir + "sample.Crop.png", new Aspose.Imaging.ImageOptions.PngOptions());
}
Dither(DitheringMethod، int، IColorPalette)
تحسين الصورة الحالية من خلال تطبيق تأثيرات التوتر مع هذا البساطةطريقة مثالية للمطورين الذين يهدفون إلى إضافة نسيج وعمق إلى الصور ،تحسين الجودة البصرية والجذب العام.
public override void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
الطريقة المضغوطة .
bitsCount
int
النقاط النهائية تحسب لالتقاط.
customPalette
IColorPalette
أضف تعليق لـ DITERING.
Examples
يحتوي المثال التالي على صورة 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;
// 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(الخيارات الثنائية، FilterOptionsBase)
تعزيز بسهولة مناطق محددة من الصورة الخاصة بك عن طريق تطبيق الفلاتر علىهذه الطريقة توفر للمطورين السيطرة الدقيقة علىالتلاعب بالصور، مما يتيح التعديلات المستهدفة لتحقيق المرغوب فيهالتأثيرات البصرية بسهولة
public override void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
من المستطيل .
options
FilterOptionsBase
الخيارات .
Examples
يطبق المثال التالي أنواع مختلفة من الفلاتر على صورة 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()
تحويل الصور بسهولة إلى تمثيلها الرمادي ، وتبسيط الرؤيةتحليل ومهام المعالجة مثالية للمطورين الذين يسعون لتحسين وضوح الصورة ،انخفاض التعقيد، وتسهيل فعالية الخوارزميات القائمة على المقاييسللعديد من التطبيقات.
public override void Grayscale()
Examples
يتحول المثال التالي صورة DICOM الملونة إلى تمثيلها الرمادي.تتكون صور Grayscale حصريًا من الظلال الرمادية وتحمل فقط معلومات الكثافة.
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(إنت)
إدخال صفحة جديدة في قائمة الصفحات في الصورة على مؤشر محدد باستخدام هذا البصريالطريقة المثالية للمطورين الذين يبحثون عن السيطرة الدقيقة على ترتيب الصفحات فيصور متعددة الصفحات، وضمان التنظيم اللامبالاة وتخصيص محتوى الصورة.
public DicomPage InsertPage(int pageIndex)
Parameters
pageIndex
int
مؤشر الصفحة .
Returns
تم إنشاء Aspose.Imaging.FileFormats.Dicom.DicomPage.
Examples
إنشاء صورة متعددة الصفحات Dicom.
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()
إطلاق الموارد التي يتم إدارتها.تأكد من عدم إطلاق الموارد التي لا يتم إدارتها هنا، لأنها قد تكونتم إطلاق سراحها بالفعل
protected override void ReleaseManagedResources()
RemovePage(إنت)
إزالة الصفحة في المؤشر المحدد من قائمة الصفحات باستخدام هذه الطريقة المريحة.مثالية للمطورين الذين يبحثون عن السيطرة الدقيقة على إدارة الصور متعددة الصفحات ،ضمان التنظيم المستمر وتخصيص محتوى الصورة.
public void RemovePage(int pageIndex)
Parameters
pageIndex
int
مؤشر الصفحة .
Exceptions
pageIndex’ is out of range.
Resize(int، int، resizeType)
تعديل حجم الصورة باستخدام هذه الطريقة البسيطة مثالية للمطورينيبحثون عن إعادة تدوير الصور بشكل ديناميكي، لضمان أنها تناسب بسهولة في مجموعة متنوعة منالمواقف والترتيبات داخل تطبيقاتهم.
public override void Resize(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
العرض الجديد .
newHeight
int
الارتفاع الجديد
resizeType
ResizeType
هذا النوع من التراجع.
Examples
هذا المثال يحمل صورة DICOM ويعيدها باستخدام طرق إعادة التدوير المختلفة.
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(إنت، إنت، ImageResizeSettings)
تعديل حجم الصورة الخاصة بك باستخدام هذه الطريقة البسيطة لإعادة التدوير.تقصير أو توسيع الصورة الخاصة بك، وهذا الوظيفة يضمن أن احتياجات إعادة التدوير الخاصة بك يتم تلبيتهابشكل فعال ودقيق ، مما يجعلها مثالية للمطورين الذين يبحثون عن سرعة وسهولةتعديل حجم الصورة.
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
العرض الجديد .
newHeight
int
الارتفاع الجديد
settings
ImageResizeSettings
إعدادات إعادة التدوير
Examples
هذا المثال يحمل صورة DICOM ويعيدها باستخدام إعدادات إعادة التدوير المختلفة.
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(إنت، إعادة النوع)
تعديل ارتفاع الصورة مع الحفاظ على نسبة الجانب مع هذاطريقة سهلة الاستخدام مثالية للمطورين الذين يبحثون عن إعادة تدوير الصور بشكل ديناميكيمع الحفاظ على نسبها، وضمان العرض الأمثل والاستخدامفي تطبيقاتهم .
public override void ResizeHeightProportionally(int newHeight, ResizeType resizeType)
Parameters
newHeight
int
الارتفاع الجديد
resizeType
ResizeType
نوع التراجع .
Examples
هذا المثال يحمل صورة DICOM ويعيدها نسبيًا باستخدام طرق إعادة التدوير المختلفة فقط يتم تحديد الارتفاع ، يتم حساب العرض تلقائيًا.
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)
إعادة تدوير الصورة مع الحفاظ على نسبة الجانب مع هذه الطريقة المريحة. مثالية للمطورين الذين يحاولون تعديل أبعاد الصورة بشكل متناسب، وضمان التماسك والحفاظ على نسبة المحتوى الأصلي.سيتم إعادة تدوير إعادة تدوير كل إطار حسب نسبة newWidth’/width و
newHeight’/height.
public void ResizeProportional(int newWidth, int newHeight, ResizeType resizeType)
Parameters
newWidth
int
العرض الجديد .
newHeight
int
الارتفاع الجديد
resizeType
ResizeType
هذا النوع من التراجع.
ResizeWidthProportionally(إنت، إعادة النوع)
تعديل عرض الصورة مع الحفاظ على نسبة نظره مع هذا المريحالطريقة المثالية للمطورين الذين يرغبون في إعادة تدوير الصور بشكل متناسب، وضماننتائج متسقة وجذابة بصريًا في بيئات عرض مختلفة.
public override void ResizeWidthProportionally(int newWidth, ResizeType resizeType)
Parameters
newWidth
int
العرض الجديد .
resizeType
ResizeType
نوع التراجع .
Examples
هذا المثال يحمل صورة DICOM ويعيدها نسبيًا باستخدام طرق إعادة التدوير المختلفة فقط يتم تحديد العرض ، يتم حساب الارتفاع تلقائيًا.
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(البول، البول، اللون)
تدور الصورة حول مركزها بهذه الطريقة المريحة مثالية للمطورينتسعى لتعديل اتجاه الصورة بشكل ديناميكي، وضمان التقديم الأمثل،التوافق داخل تطبيقاتهم.
public override void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
زاوية الدوران في درجات.القيم الإيجابية سوف تدور في اتجاه الساعة.
resizeProportionally
bool
إذا قمت بتعيين “الحقيقي” ستكون حجم الصورة الخاص بك قد تغيرتعلى النحو المنحني (نقاط الزاوية) المشاهدات في الحالة الأخرى التي تترك الأبعاد غير ملموسة فقطالداخلية محتوى الصورة يتم توجيهها.
backgroundColor
Color
لون الخلفية
Examples
هذا المثال يظهر كيفية تحويل جميع الصفحات من صورة DICOM وتخزين كلها إلى صورة TIFF متعددة الإطارات.
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)
سهولة التعامل مع الإطار النشط عن طريق التدوير أو التمرير أو تنفيذ كلا الإجراءينفي الوقت نفسه مع هذه الطريقة البسيطة. مثالية للمطورين الذين يحتاجون إلىتنسيق ديناميكي لتوجيه الإطارات المحددة داخل سلسلة الصور الخاصة بهم ،ضمان التوافق والتوافق الأمثل.
public override void RotateFlip(RotateFlipType rotateFlipType)
Parameters
rotateFlipType
RotateFlipType
نوع الفليب المتحرك.
Examples
ويحمل هذا المثال صورة DICOM، ويحولها إلى 90 درجة في اتجاه الساعة، ويحمل الخيارية الصورة أفقياً و(أو) عمودياً.
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(البث, ImageOptionsBase, Rectangle)
بسهولة حفظ بيانات الصورة الخاصة بك إلى تدفق محدد في تنسيق الملف المطلوبسواء كنت تعمل مع JPEG أو PNG أو أي تنسيق آخر،هذه الميزة تضمن أن بيانات الصورة الخاصة بك يتم تخزينها بكفاءة ودقة،جعلها مثالية للمطورين الذين يرغبون في تسريع عمليات حفظ الملفات الخاصة بهم.
public override void Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)
Parameters
stream
Stream
تدفق لتخزين بيانات الصورة إلى.
optionsBase
ImageOptionsBase
خيارات الادخار .
boundsRectangle
Rectangle
يحدد صورة الوجهة المستطيل.إعداد المستطيل الفارغ لاستخدام حدود المصدر.
Examples
في المثال التالي ، يتم تحميل صورة DICOM من ملف ، ثم يتم حفظ الصورة إلى تدفق ملف 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(الصورة، ImageOptionsBase)
حفظ بيانات الكائن عن طريق حفظها إلى الملف المحدد (المؤشر + اسم الملف)الموقع جنبا إلى جنب مع تنسيق الملف المحدد وخيارات. مثالية للمطورين الذين يبحثون عنتخزين البيانات بأمان في تنسيقات مختلفة مع الحفاظ على المرونة والسيطرة علىمعلمات الادخار
public void SaveAll(string filePath, ImageOptionsBase options)
Parameters
filePath
string
مسار الملفات
options
ImageOptionsBase
الخيارات .
SaveData(Stream)
تخزين البيانات
protected override void SaveData(Stream stream)
Parameters
stream
Stream
تدفق لتخزين البيانات.
SetResolution(المزدوج، المزدوج)
تعديل دقة هذا Aspose.Imaging.RasterImage باستخدام هذاطريقة بسيطة مثالية للمطورين الذين يرغبون في تكييف دقة الصورة إلىمتطلبات محددة، وضمان جودة العرض الأمثل وإدارة حجم الملفات.
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
القرار الأفقي، في نقاط لكل بوصة، من Aspose.Imaging.RasterImage.
dpiY
double
القرار الرأسي، في نقاط لكل بوصة، من Aspose.Imaging.RasterImage.
UpdateDimensions(إنت، إنت)
تحديث أبعاد الصورة.
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
عرض الصورة الجديد.
newHeight
int
ارتفاع الصورة الجديدة.