如何在矩形WPF内缩放图像

时间:2012-12-03 21:55:21

标签: wpf zooming

我正在尝试放大和缩小Rectangle控件中的图像。但是在这样做的同时,我的整个Rectangle正在放大,而不仅仅是内部的图像。为此,我在Rectangle上使用ScaleTransform和TranslateTranform。我应该在图像而不是矩形上做同样的事情,但我不知道怎么做?有人可以帮帮我吗。

XAML:

 <Rectangle x:Name="LiveViewWindow" Fill="#FFF4F4F5" HorizontalAlignment="Right"  
            ClipToBounds="True" />

代码:

InteropBitmap m_LiveViewBitmapSource =Imaging.CreateBitmapSourceFromMemorySection(
    section, width, height, PixelFormats.Bgr32, width*4, 0) as InteropBitmap;

ImageBrush m_BackgroundFrame = new ImageBrush(m_LiveViewBitmapSource);

RenderOptions.SetBitmapScalingMode(m_BackgroundFrame, BitmapScalingMode.LowQuality);

LiveViewWindow.Fill = m_BackgroundFrame;

n然后我使用Invalidate()属性将InteropBitmap渲染为Rectangle。

1 个答案:

答案 0 :(得分:0)

您可以设置ImageBrush的Transform属性。在Brush Transformation Overview中获取更多信息。