如何以编程方式设置图像源

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 中通过随机分层源图像来自动生成合成图像?

如何以编程方式在 Fabric.js 呈现的一组图像中选择一个图像

uibutton与图像

图像缩放在功能区中看起来很糟糕

如何以编程方式设置图像源