Не понял вопроса...
Новый класс не создается, он описан в модуле Graphics точно так же, как и все остальные классы. Зачем - чтобы реализовать функциональность, необходимую для рисования на битмапе.
Модератор: Модераторы
Sergei I. Gorelkin писал(а):Не понял вопроса...
Новый класс не создается, он описан в модуле Graphics точно так же, как и все остальные классы. Зачем - чтобы реализовать функциональность, необходимую для рисования на битмапе.
При обращении к свойству TBitmap.Canvas создается не TCanvas, а его наследник TBitmapCanvas. Этот TBitmapCanvas не предназначен для самостоятельного использования, и его нет в интерфейсе.
Timid писал(а):Точнее, Canvas в Bitmap - это контейнер для методов работы с матрицей пикселей, в том числе и для рисования на ней.
constructor TCustomControl.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FCanvas := TControlCanvas.Create;
// ----Micha's comment----
// If double buffering has to be enabled before LCL can draw anything,
// something is wrong. In the overridden Paint method you should always be
// able to draw, independent of DoubleBuffered setting.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34