我有一个数据库,其中包含一个用于存储URL图像的表(因为将图像存储为字节数组可能会极大地降低数据库的速度)。image表中有两个字段,一个存储低分辨率图像的URL,另一个存储高分辨率图像的URL。到目前为止,这只是一个概念,还没有完全实现。
我的问题是,如果我想通过数据库URL拉回这些图像以显示在Silverlight视图中,那么执行此操作的最佳方法是什么,我应该将图像存储在web上的什么地方?-在个人web服务器上?
接下来,我想要一个令人惊叹的图像显示用户体验。可能是一个缩略图,当鼠标悬停在上面时,它会稍微变大,而当点击时,它会缩放到有点灯箱的显示。
非常感谢您的帮助。
发布于 2009-09-08 17:38:51
最快的方式,这将允许您保留任何现有的图像目录和组织,并将它们排除在XAP之外。
string src = Application.Current.Host.Source.ToString();
string applicationRoot = src.Substring(0, src.IndexOf("ClientBin"));
//Where CLientBin is the location of your XAP file
string imageURL = applicationRoot + "Images/MyImage.jpg"发布于 2009-09-08 17:30:31
一种方法是使用,将图片添加到您的Silverlight应用程序中,然后使用相对路径引用它们。将构建操作设置为"Resource“,并将”Copy to Output Directory“设置为"False”。这会将图像嵌入到您的Silverlight应用程序中。在简单性和性能方面很棒,但如果你有大的、丰富的或不断变化的图像,就不那么棒了。
<Image Source="Images/LoRes/10001.JPG" />另一种方法是将图像部署到托管您的XAP文件的同一web服务器。使用这种方法,您仍然可以通过相对路径引用图像,只是现在该路径是相对于XAP,而不是应用程序根文件夹。
<Image Source="../Images/LoRes/10001.JPG" />Silverlight还支持绝对,所以如果你愿意,你可以完全通过部署到不同的web服务器URL。
<Image Source="http://myimages.com/Images/LoRes/10001.JPG" />如果数据库只有图像名称,而您正在进行数据绑定,则可以编写一个转换器来获取图像名称并生成相对或绝对超链接。
MSDN documentation for the Image class有更多信息。
https://stackoverflow.com/questions/1394521
复制相似问题