6

私の目標は、オーバーライドされた OnRender メソッドで、埋め込みリソースである画像「someImage.png」を WPF ウィンドウに描画することです。

protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
{
    base.OnRender(drawingContext);            
    drawingContext.DrawImage(ImageSource, Rect);            
}

リソースからストリームに画像を取得するコードを見つけました。

public BitmapSource GetSourceForOnRender()
{
    System.Reflection.Assembly myAssembly = System.Reflection.Assembly.GetExecutingAssembly();
    Stream myStream = myAssembly.GetManifestResourceStream("KisserConsole.someImage.png");

    // What to do now?

    return //BitmapSource    

}

しかし、BitmapSource を今すぐ取得または作成するにはどうすればよいですか?

4

2 に答える 2

3

これを使用してみることができます:

Uri uri = new Uri( $"pack://application:,,,/YourAssemblyName;component/Resources/images/photo.png", UriKind.Absolute );

BitmapImage bitmap = new BitmapImage( uri );

イメージ ファイルの Build Action が Resource に設定されていることを確認します。

于 2018-08-04T02:58:00.603 に答える