Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

Нет прорисовки Canvas при изменении (увеличении) размеров Image1!   Найти похожие ветки 

 
Dr. Andrew ©   (2003-06-10 13:18) [0]

Мастера подскажите, как можно синхронизировать и увеличение размеров компонента TImage и прорисовку всей изменившейся части холста, а не только ее исходной части.
Желательно без Bitmap, чтобы не увеличивать затраты памяти при больших увеличениях.
Ниже пример, показывающий данную проблематику (к сожалению, он не работает):

procedure TForm1.Button1Click(Sender: TObject); { ZoomOut, например увеличение с шагом = 2 }
begin
Image1.SetBounds(Image1.Left,Image1.Top,Image1.Width*2, Image1.Height*2);
Image1.Canvas.Brush.Color:= clblue;
Rct:= Rect(0,0, Image1.Width*2, Image1.Height*2);
Image1.Canvas.FillRect(Rect(0,0, Image1.Width*2, Image1.Height*2);
Image1.Invalidate;
Label1.Caption:= Format("Width %d : Height %d", [Image1.Width, Image1.Height]);
end;


 
OlegM ©   (2003-06-10 14:03) [1]

Если я правильно понял то это

Image1.Picture.Bitmap.Height:=Image1.Height;
Image1.Picture.Bitmap.Width:=Image1.Width;


 
Dr. Andrew ©   (2003-06-10 15:05) [2]

Это увеличит расход памяти при больших значениях масштабирования.
В принципе верно, НО необходимо другое решение!
Есть еще мнения?


 
Dr. Andrew ©   (2003-06-10 17:03) [3]

Мастера!
Кто-то может предложить вариант Zoom Image or Bitmap?!


 
Zergling ©   (2003-06-11 09:16) [4]

Наверное ни как. TPaintBox и все. Кстати по какой причине TPaintBox не подходит.


 
Спрашивающий   (2003-06-11 09:33) [5]

Я согласен с Zergling © надо использовать TPaintBoxтолько не забудь обработать его прорисовку в onPaint,
а Image лучше оставить или для простеньких рисунков или для его прямого назначения.



Страницы: 1 вся ветка

Текущий архив: 2003.06.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
1-84192
AtoL2k2
2003-06-12 09:56
2003.06.26
Две даты


3-83952
YuraKiller
2003-06-03 23:42
2003.06.26
Как узнать где находиться запущеный екзешник (клиент)


4-84836
Akvilon
2003-04-24 11:45
2003.06.26
уникальность окна, в чем?


7-84765
Hamel1on
2003-04-15 11:55
2003.06.26
Как сделать программу службой в Win2k?


14-84633
Evgeniy
2003-06-08 13:43
2003.06.26
Расскажите о плиз GPRS.