在图片框中显示一个简单的图像
本文关键字:一个 简单 图像 显示 | 更新日期: 2023-09-27 18:06:34
我想在c#程序中使用simplitk读取dicom或png图像并在pictureBox中显示结果。我知道图片框只允许系统绘图。图像",而不是它。有办法吗?这是我的代码:
OpenFileDialog fd = new OpenFileDialog();
fd.Filter = "PNG|*.png";
if (fd.ShowDialog() == DialogResult.OK)
{
string file = fd.FileName;
ImageFileReader reader = new ImageFileReader();
reader.SetFileName(file);
itk.simple.Image image = reader.Execute();
Box.Image = image;
}
您将需要访问SimpleITK保存的原始图像缓冲区。这可以通过Image::GetBufferAs"TYPE"方法访问。
下面是一个使用这个方法的简单例子:
// Cast so we know the the pixel type
input = SimpleITK.Cast(input, PixelId.sitkFloat32);
// calculate the nubmer of pixels
VectorUInt32 size = input.GetSize();
int len = 1;
for (int dim = 0; dim < input.GetDimension(); dim++) {
len *= (int)size[dim];
}
IntPtr buffer = input.GetBufferAsFloat();
我相信这可以用。net转换成位图。
using (OpenFileDialog fd = new OpenFileDialog())
{
fd.Filter = "PNG|*.png";
if (fd.ShowDialog() == DialogResult.OK)
{
Box.Image = new Bitmap(fd.FileName);
}
}