2009-09-10 90 views
0

我正在尝试在新的浏览器窗口中显示在Silverlight客户端上动态生成的图像。 这是我的javascript函数:用javascript显示图像

function PrintImage(img) 
    {    
     var newWin = window.open(); 
     var locImg = new Image(); 

     locImg = img; 

     newWin.document.write("<img src=" + locImg + "/>");   
    } 

IMG var为C#类型的BitmapImage的参数。 不幸的是,我是javascript的新手。 感谢您的回复。

+1

输出是什么?除了'src'属性缺少引号(它应该仍然在大多数浏览器中显示图像),似乎没有任何错误...尝试提醒'locImg'以确保url正确。 – peirix 2009-09-10 10:28:59

回答

1

你不能这么做,唯一可用的选择是在Silverlight应用程序本身中显示你的图像。

Javascript在浏览器上运行,它无法访问CLR/.NET对象的位图图像。

如果您想要在新窗口中显示它,最好创建一个新窗口,在新窗口(另一个窗口)中加载Silverlight应用程序,然后创建图像并将其显示在那里。

您无法在同一个浏览器中轻松地将对象从一个Silverlight应用程序传递到另一个Silverlight应用程序,但是我没有尝试过,但可能无法正常工作。

0

您可以做的最好的方法是将动态生成的图像保存在服务器的文件夹中并获取图像的路径。

将图像路径[字符串]传递给函数。