CostCalculationItem/IRaCIS.Core.Application/Trial/Image/DicomRenderingHelper.cs

36 lines
1.1 KiB
C#

using Dicom.Imaging;
using System;
using System.Drawing.Imaging;
using System.IO;
namespace IRaCIS.Core.Application.Dicom
{
public static class DicomRenderingHelper
{
public static Stream RenderPreviewJpeg(string filePath)
{
string jpegPath = filePath + ".preview.jpg";
if (!File.Exists(jpegPath))
{
using (Stream stream = new FileStream(jpegPath, FileMode.Create))
{
DicomImage image = new DicomImage(filePath);
image.ShowOverlays = false;
image.Scale = Math.Min(Math.Min(128.0 / image.Width, 128.0 / image.Height), 1.0);
image.RenderImage().AsClonedBitmap()
.Save(stream, ImageFormat.Jpeg);
}
}
return new FileStream(jpegPath, FileMode.Open);
}
public static void RemovePreviewJpeg(string filePath)
{
string jpegPath = filePath + ".preview.jpg";
if (File.Exists(jpegPath)) File.Delete(jpegPath);
}
}
}