I'm trying to scale a dicom slice which its resolution, 1024*1024 (row*columns). I can really scale the slice, but my problem is: When I convert the scaling slice to array of bytes and write it to the dicom file, I can see nothing as you see in the picture below.
var renderImage = new DicomImage(@"D:\11_29_2022_17_21_52\"+i);
renderImage.Scale = 0.5;//Scaling factor
Bitmap renderdImageAsBitmap =renderImage.RenderImage().As<Bitmap>();
renderdImageAsBitmap.Save(@"D:\test\"+i+".jpg", ImageFormat.Jpeg);
//now get the image as jpeg or bitmap i tried the both
using (IImage renderedImage = renderImage.RenderImage())
{
Bitmap bitmap = renderedImage.As<Bitmap>();
// Copy image to byte array using MemoryStream
using (MemoryStream targetStream = new MemoryStream())
{
bitmap.Save(targetStream, ImageFormat.Jpeg);
newRawBytes = targetStream.ToArray();
//get the image as rawbytes to add it to my dicomfile
}
}
dicomFile.Dataset.AddOrUpdate(DicomTag.PixelData, newRawBytes); //Add the rawbyte to dicomfile