调整图像大小时更新ScrollView(WPF)

时间:2013-07-20 01:25:35

标签: wpf image scrollview

我正在为GBA游戏做一个图形编辑器,我在ScrollView中得到了一个图像。当用户单击NumericUpDown时,将使用放大系数调整图像大小。我希望我的ScrollView能够适应图像的新尺寸,以便能够滚动整个图像。我没有使用MVVM模式。

以下是我的XAML的一部分:

<ScrollViewer x:Name="PortraitScrollBar" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" VerticalAlignment="Bottom" HorizontalAlignment="Right">
    <Image x:Name="ImagePortrait" Width="280" Height="280" Stretch="None" HorizontalAlignment="Left" VerticalAlignment="Top" />
</ScrollViewer>

这也是我在NumericUpDown的ValueChanged事件中调用的函数:

public static void Magnify(ref Image img, WriteableBitmap wBmp, int factor)
{
    img.Source = wBmp.Resize(wBmp.PixelWidth * factor, wBmp.PixelHeight * factor, WriteableBitmapExtensions.Interpolation.NearestNeighbor);  
}

private void PorMagnifyUpDown_ValueChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
    if (IsInit)
    {
        Magnify(ref ImagePortrait, currentImage, (int)e.NewValue);
    }
}

0 个答案:

没有答案