如何在WPF中将位图渲染到画布?

voi*_*ter 9 .net c# wpf canvas bitmapimage

我已经子类化,Canvas以便我可以覆盖它的Render功能.我需要知道如何在WPF中加载位图并将其渲染到画布.我是WPF的新手,我没有找到任何教程向您展示如何做一些看似微不足道的事情.带示例的分步说明会很棒.

use*_*116 13

在WPF中,极少数情况下你需要覆盖,OnRender特别是如果你想要做的就是将BMP绘制到背景中:

<Canvas>
    <Canvas.Background>
        <ImageBrush ImageSource="Resources\background.bmp" />
    </Canvas.Background>
    <!-- ... -->
</Canvas>
Run Code Online (Sandbox Code Playgroud)


Tar*_*don 11

这应该让你开始:

class MyCanvas : Canvas {
   protected override void OnRender (DrawingContext dc) {
      BitmapImage img = new BitmapImage (new Uri ("c:\\demo.jpg"));
      dc.DrawImage (img, new Rect (0, 0, img.PixelWidth, img.PixelHeight));
   }
}
Run Code Online (Sandbox Code Playgroud)