如何以编程方式设置图像源
Posted
技术标签:
【中文标题】如何以编程方式设置图像源【英文标题】:How to programmatically set the Image source 【发布时间】:2011-09-24 02:37:50 【问题描述】:当Image的Source属性如下设置时,图片取自/Images/down.png
。
我如何以编程方式做同样的事情?
<Image x:Name="myImg" Source="/MyProject;component/Images/down.png" />
由于 Image.Source 属性不是字符串类型,因此以下操作无效。
myImg.Source = "/MyProject;component/Images/down.png";
【问题讨论】:
可能重复:***.com/questions/350027/… 虽然 Silverlight 和 WPF 在很多方面都很相似,但我不会说这是重复的。尤其是在资源位置方面。 【参考方案1】:试试这个:
BitmapImage image = new BitmapImage(new Uri("/MyProject;component/Images/down.png", UriKind.Relative));
【讨论】:
哦,基本上,是 Uri 类进行转换,具体取决于字符串中指定的内容。不知道。 然后:myImg.Source = image;如果您指定绝对路径,请记住将其设置为 UriKind.Absolute。【参考方案2】:myImg.Source = new BitmapImage(new Uri(@"component/Images/down.png", UriKind.RelativeOrAbsolute));
不要忘记将 Build Action 设置为“Content”,并将 Copy to output directory 设置为“Always”。
【讨论】:
【参考方案3】:尝试以这种方式分配图像:
imgFavorito.Source = new BitmapImage(new Uri(base.BaseUri, @"/Assets/favorited.png"));
【讨论】:
【参考方案4】:yourImageName.Source = new BitmapImage(new Uri("ms-appx:///Assets/LOGO.png"));
LOGO代表你的形象
希望能帮助到任何人。 :)
【讨论】:
【参考方案5】:使用 asp:image
<asp:Image id="Image1" runat="server"
AlternateText="Image text"
ImageAlign="left"
ImageUrl="images/image1.jpg"/>
和代码隐藏来更改图片网址
Image1.ImageUrl = "/MyProject;component/Images/down.png";
【讨论】:
请注意,问题的标签是 Silverlight。我没有在 ASP 中做任何事情。不过还是谢谢你的回复。【参考方案6】:试试这个
PictureBox picture = new PictureBox
Name = "pictureBox",
Size = new Size(100, 50),
Location = new Point(14, 17),
Image = Image.FromFile(@"c:\Images\test.jpg"),
SizeMode = PictureBoxSizeMode.CenterImage
;
p.Controls.Add(picture);
【讨论】:
以上是关于如何以编程方式设置图像源的主要内容,如果未能解决你的问题,请参考以下文章
如果找不到源图像,如何显示替代图像? (在 IE 中工作但在 Mozilla 中不工作的错误)[重复]
如何在 Windows 中通过随机分层源图像来自动生成合成图像?