Рисование на холсте (canvas) в Delphi
В английской раскладке: hbcjdfybt yf [jkcnt (canvas) d delphi
В русской раскладке: рисование на холсте (сфтмфы) в вудзрш
| Рубрика Программирование | Дата 22-04-2011
2 959 | Оцените статью
0
Каждый или почти каждый человек программирующий на дельфи пытался что нибудь нарисовать, использую компонент TImage. Но не все знают что можно рисовать и на других компонентах. Рассмотрим список самых очевидных компонентов имеющих Canvas.
- TForm
- TImage
- TBitmap
- TPaintBox
- TStringGrid
- TDrawGrid
- TValueListEditor
- TListBox и другие
Хотел написать свою статью, но на это ушло бы слишком много времени, по этому я напишу один совет, потом еще один и так напишу много советов.
Совет. Рисование в памяти, на TBitmap, гораздо быстрее, прямого взаимодействия с холстом визуального компонента. Если работать на прямую с TImage, то иногда будет заметно притормаживание анимации и мерцание изображения.
И пример.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | procedure Draw; var MyBitMap: TBitMap; i : Integer; begin MyBitMap:=TBitmap.Create; MyBitMap.Width:=Image1.Width; MyBitMap.Height:=Image1.Height; MyBitMap.Canvas.Pen.Color:=clred; for I := 0 to 18 do begin MyBitMap.Canvas.Pen.Width:=i; MyBitMap.Canvas.MoveTo(0+i*10,0); MyBitMap.Canvas.LineTo(0+i*10,100); end; Image1.Canvas.Draw(0,0, MyBitMap); end; |

