WPF - InkCanvas - Фоновое изображение - PullRequest
0 голосов
/ 25 сентября 2018

Я успешно изменил фон моего InkCanvas из кода с изображением, используя следующий код:

ImageBrush imageBrush = new ImageBrush();
imageBrush.ImageSource = new BitmapImage(new Uri("temp.jpg", UriKind.Relative));
inkCanvas1.Background = imageBrush;

Теперь я хочу изменить разрешение только фонового изображения.Например, если мой размер InkCanvas составляет 500 x 500, я хочу показать фоновое изображение в моем InkCanvas в центре с разрешением 300 x 300.

Возможно ли это?Любая помощь в этом отношении будет высоко оценена ..

1 Ответ

0 голосов
/ 25 сентября 2018

Это, конечно, есть даже много способов, например, вы можете установить свойство RelativeTransform:

<InkCanvas.Background>
    <ImageBrush>
        <ImageBrush.RelativeTransform>
            <TransformGroup>
                <ScaleTransform CenterY="0.5" CenterX="0.5" ScaleX="2" ScaleY="2"/>
            </TransformGroup>
        </ImageBrush.RelativeTransform>
    </ImageBrush>
</InkCanvas.Background>

Таким образом, фоновое изображение будет в два раза больше предыдущего.Если вам нужно более точное управление фоном, вы можете использовать VisualBrush, как показано ниже:

<Grid.Background>
    <VisualBrush>
        <VisualBrush.Visual>
            <Image Width="200" Height="200"></Image>
        </VisualBrush.Visual>
    </VisualBrush>
</Grid.Background>
...