TImage ширина / высота якоря не работает

У меня есть TForm, который имеет событие FormResizeвнутри этой функции я хочу нарисовать что-то внутри моего изображения.

Моя функция FormResize выглядит ниже

void __fastcall TForm1::FormResize(TObject *Sender)
{
// Teken de blokjes
_viewPort->draw(_viewPortImage->Canvas, _viewPortImage->Width, _viewPortImage->Height);
}

В этой функции я не делаю ничего, кроме рисования прямоугольника, который рисует границу:

ViewPort::draw(Vcl::Graphics::TCanvas* Canvas, int width, int height)
{
Canvas->Rectangle(0, 0, width, height);
}

Теперь проблема. Когда я делаю форму меньше оригинала, она хорошо масштабируется. но когда форма становится больше оригинального размера. Фон + Граница плохо прорисована. Смотрите скриншот ниже. Белый фон / холст из TImage. Изображение привязано во всех 4 направлениях.

Кто-нибудь знает, как сделать изображение еще больше?

Скриншот оригинал меньше больше

0

Решение

Использовать TPaintBox вместо TImage и сделай свой рисунок в TPaintBox::OnPaint событие. Тогда вам не нужно использовать TForm::OnResize событие больше.

void __fastcall TForm1::ViewPortPaintBoxPaint(TObject *Sender)
{
// Teken de blokjes
_viewPort->draw(ViewPortPaintBox->Canvas, ViewPortPaintBox->ClientWidth, ViewPortPaintBox->ClientHeight);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]