如何从我的资源中将PictureBox图像设置为图像?
(我尝试了这个没有成功:pictuerbox.Image = "img_location";
)
答案 0 :(得分:61)
如果您使用visual studio UI加载资源,那么您应该可以这样做:
picturebox.Image = project.Properties.Resources.imgfromresource
答案 1 :(得分:10)
Ken拥有正确的解决方案,但您不想添加picturebox.Image.Load()成员方法。
如果使用Load执行此操作并且未设置ImageLocation,则它将失败并显示“必须设置图像位置”异常。如果你使用picturebox.Refresh()成员方法,它没有例外。
以下完整代码:
public void showAnimatedPictureBox(PictureBox thePicture)
{
thePicture.Image = Properties.Resources.hamster;
thePicture.Refresh();
thePicture.Visible = true;
}
它被调用为: showAnimatedPictureBox(myPictureBox);
我的XAML看起来像:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wfi="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
xmlns:winForms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="myApp.MainWindow"
Title="myApp" Height="679.079" Width="986">
<StackPanel Width="136" Height="Auto" Background="WhiteSmoke" x:Name="statusPanel">
<wfi:WindowsFormsHost>
<winForms:PictureBox x:Name="myPictureBox">
</winForms:PictureBox>
</wfi:WindowsFormsHost>
<Label x:Name="myLabel" Content="myLabel" Margin="10,3,10,5" FontSize="20" FontWeight="Bold" Visibility="Hidden"/>
</StackPanel>
</Window>
我意识到这是一个旧帖子,但是直接从资源加载图像在微软的网站上是非常不清楚的,这是我得到的(部分)解决方案。希望它可以帮助别人!
答案 2 :(得分:6)
好的......所以首先需要在项目中导入图像
1)在表单设计中选择图片框
2)打开PictureBox任务(这是在图片框边缘右侧固定的小箭头)
3)点击“选择图片...”
4)选择第二个选项“Project resource file:”(此选项将创建一个名为“Resources”的文件夹,您可以使用Properties.Resources访问该文件夹)
5)点击导入并从您的计算机中选择您的图像(现在,将在步骤4中创建的Resources文件夹中发送与图像同名的图像副本)
6)点击确定
现在图像在您的项目中,您可以将它与属性命令一起使用。当您想要从图片框中更改图片时,只需输入以下代码:
pictureBox1.Image = Properties.Resources.myimage;
注意:myimage代表图像的名称...在资源之后键入点后,在您的选项中它将是您导入的图像文件
答案 3 :(得分:3)
您可以使用ResourceManager加载图像。
请参阅以下链接: http://www.java2s.com/Code/CSharp/Development-Class/Saveandloadimagefromresourcefile.htm
答案 4 :(得分:2)
尝试以下方法:
myPictureBox.Image = global::mynamespace.Properties.Resources.photo1;
并将命名空间替换为项目命名空间
答案 5 :(得分:0)
您必须将资源文件的完整路径指定为应用程序资源中的图像名称,请参阅下面的示例。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
PictureBox1.Image = My.Resources.Chrysanthemum
End Sub
在MyResources指定资源名称后分配给Image属性的路径中。
但是,在您从应用程序的资源部分导入任何内容之前,从图像文件中存在,或者它可以创建您自己的。
再见