Arhn - архитектура программирования

WPF С# Предотвращение изменения размера фона при загрузке в качестве фона в inkCanvas

После поиска ответа как в документации Microsoft, так и на форумах, я в растерянности. Я загружаю изображение png в качестве фона для inkCanvas (WPF), которое отлично работает, однако всегда изменяет размер изображения, чтобы оно соответствовало холсту, несмотря на размер изображения.

Вот моя последняя попытка без успеха:

            BitmapImage ii = new BitmapImage(new Uri(path));
            Image img = new Image();

            img.Stretch = Stretch.None;
            img.Source = ii;
            InkCanvas1.Background = new ImageBrush(ii);

Вот как это выглядит при использовании Stretch.None и Stretch.Fill

введите здесь описание изображения

Вот чего я пытаюсь достичь:

введите здесь описание изображения

Можно ли это сделать?

24.04.2014

  • Итак, вы хотите, чтобы imageBrush выходил за рамки чернильного холста? 24.04.2014
  • Не обязательно, я бы хотел, чтобы соотношение сторон изображения соответствовало максимальной ширине или максимальной высоте и пустому пространству вверху или внизу холста (в зависимости от пейзажного или портретного изображения). 24.04.2014
  • Можете ли вы опубликовать снимок, на что это похоже прямо сейчас? И какой желаемый результат? 24.04.2014

Ответы:


1

Проблема в том, что вы пытаетесь установить свойства объекта Image, который вы не используете, игнорируя при этом те же настройки объекта ImageBrush, который вы используете. Image в этом случае просто выбрасывается, а ImageBrush просто использует тот же исходный образ. Вместо этого установите свойство Stretch для ImageBrush:

    BitmapImage ii = new BitmapImage(new Uri(path));

    ImageBrush imageBrush = new ImageBrush(ii);
    imageBrush.Stretch = Stretch.Uniform;
    InkCanvas1.Background = imageBrush;
24.04.2014
  • Идеально!! Спасибо за то, что заставил меня почувствовать себя идиотом! :) 24.04.2014
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..