2013-04-16 3 views
1

Мое приложение asp.net MVC3; В настоящее время я могу отобразить DCIOM MPR изображений с помощью обработчика изображений и сохранения изображения в сеансе с помощью:Отображение изображения DICOM MPR в asp.net MVC view C#

objImage = im.Bitmap(outputSize, System.Drawing.Imaging.PixelFormat.Format24bppRgb, m); 
context.Response.ContentType = "image/png"; 
objImage.Save(context.Response.OutputStream,  
System.Drawing.Imaging.ImageFormat.Png); 

Он отлично работает, но когда я повернуть изображение ответ очень медленно !! Я пытаюсь сохранить DICOM MPR в controlloer в качестве переменной сеанса, используя следующее:

............ 
DicomImageMPR mpr1 = new DicomImageMPR(volume); 
mpr1.SetViewPlane(new Point3D(), new Vector3D(0, 1, 0), new Vector3D(0, 0, -1)); 
mpr1.Interpolation = InterpolationType3D.Trilinear; 
MySession.Current.mpr1 = mpr1; 

Мой вопрос, как я могу поместить изображение в viewbag, чтобы отобразить в представлении? Буду признателен за ваши предложения и заблаговременно.

ответ

2

я решил его с помощью следующих действий:

 public ActionResult GenerateImage() 
      { 
       FileContentResult result; 
       System.Drawing.Image objImage = null; 
       .... 
       mpr = MySession.Current.mpr2; 
       im = mpr; 
       ... 
       objImage = im.Bitmap(outputSize, 
       System.Drawing.Imaging.PixelFormat.Format24bppRgb, m); 
       using (var memStream = new MemoryStream()) 
       { 
        objImage.Save(memStream, System.Drawing.Imaging.ImageFormat.Png); 
        result = this.File(memStream.GetBuffer(), "image/png"); 
       } 

       return result; 
      } 

В Виде:

<img src='<%=Url.Action("GenerateImage")%>' alt="" id="dImage"/> 

Надеется, что это может помочь кому-то.

Смежные вопросы