Есть картинка 800х600. Её надо отобразить на позиции [X,Y], размером 200х200. При этом пропадут пропорции, но это не важно.
На WinForms это, вроде, Graphics.DrawImage(). А для WPF уже несколько раз гуглил, но ничего конкретного не нашел.
Но это с канвасом, который автоматически растягивается на всё окно. А мне надо ограничить область, в которой можно будет рисовать.
А допустим, если вместо канваса использовать Image, то как на нем отобразить картинку?
Ну или может есть сторонний компонент, который уже это умеет?
когда я задаю размер канваса, то картинка всё-равно заполняет всё окно.
Я понял. Если скопипастить Width и Height и поменять им значения, то не работает. А если набрать то же самое вручную, то работает. Зачем так сделано?
А кактинку-то как отобразить? Метода DrawImage() нету
В примере по ссылке только круг и квадраты рисуют.
А разве без грида и канваса нельзя менять позицию и размер компонентов? Вроде ведь можно.
Ну вот объясняю еще раз. На WinAPI есть функция GetDC(). Берём DC окна и рисуем на нём что хотим и как хотим LineTo(), DrawBitmap(), DrawIcon(), Ellipse(), FillRect() и т.д. На Delphi и WinForms есть обёртки. А на WPF как? Гуглил, что есть всякие ImageBrushи, но там с параметрами не понятно.
Грид это контейнер, в котором создаются строки/столбцы определенных размеров (в % или пикселях или все оставшееся место) и в ячейки кладутся элементы. И при ресайзе оно будет подстраиваться.
Канвас это контейнер, где можно просто задавать координаты.
Без контейнеров нельзя добавить элементы (или может быть только один).
В данный момент - сделать tile из одной картинки. Или, например, растянуть её до какого-то размера (сохраняя или не сохраняя пропорции) и потом сделать tile.
Я видел, что есть TileBrush, но не понятно, как пользоваться. Единственное, что я понял, это то что тайлом будет занято всё пространство окна. А если мне всё не надо, например?
Да это я видел. По-моему, извращение какое-то.
Если надо рисовать линию пока нажата кнопка мыши, надо постоянно удалять и добавлять линию в список? А перерисовка сама, что ли, вызывается?