PictureBoxの画像をリソースの画像に設定するにはどうすればよいですか?
(成功せずにこれを試しました:pictuerbox.Image = "img_location";
)
Visual Studio UIを使用してリソースをロードした場合、これを実行できるはずです。
picturebox.Image = project.Properties.Resources.imgfromresource
Kenには適切なソリューションがありますが、picturebox.Image.Load()メンバーメソッドを追加する必要はありません。
Loadで実行し、ImageLocationが設定されていない場合、「Image Location must set set」例外で失敗します。 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>
これは古い投稿であることがわかりましたが、リソースから画像を直接読み込むことはMicrosoftのサイトでは非常に不明確であり、これが私が訪れた(部分的な)ソリューションでした。それが誰かを助けることを願っています!
わかりました...最初に、プロジェクトに画像をインポートする必要があります
1)フォームデザインでピクチャボックスを選択します
2)PictureBoxタスクを開きます(PictureboxのEdgeで右に固定されている小さな矢印です)
3)「画像を選択...」をクリックします
4)2番目のオプション「Project resource file:」を選択します(このオプションは、Properties.Resourcesにアクセスできる「Resources」というフォルダーを作成します)
5)[インポート]をクリックして、コンピューターから画像を選択します(画像と同じ名前の画像のコピーが、手順4で作成したリソースフォルダーに送信されます)。
6)[OK]をクリックします
これで画像がプロジェクト内にあり、プロパティコマンドで使用できます。ピクチャボックスから画像を変更する場合は、次のコードを入力してください。
pictureBox1.Image = Properties.Resources.myimage;
注:myimageは、リソースの後にドットを入力した後のイメージの名前を表します。オプションでは、インポートされたイメージファイルになります
ResourceManagerを使用して、イメージをロードできます。
次のリンクを参照してください: http://www.Java2s.com/Code/CSharp/Development-Class/Saveandloadimagefromresourcefile.htm
以下を試してください:
myPictureBox.Image = global::mynamespace.Properties.Resources.photo1;
名前空間をプロジェクトの名前空間に置き換えます
リソースファイルの完全パスを、アプリケーションのリソース内の「image」の名前として指定する必要があります。以下の例を参照してください。
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プロパティに割り当てられたパスで、リソースの名前を指定します。
ただし、アプリケーションのリソースセクションに画像ファイルからインポートする必要があるものを実行する前に、独自に作成することもできます。
バイバイ