Графика в Delphi - примеры задач на построение графиков, а также компоненты для графики

Рисование звёзд и многоугольников

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Рисование звёзд и многоугольников

Зависимости: Windows, Graphics
Автор: Fenik, chook_nu@uraltc.ru, Новоуральск
Copyright: Автор Федоровских Николай
Дата: 3 июня 2002 г.
***************************************************** }

procedure DrawStar(Canvas: TCanvas; Center, Pos: TPoint;
R2inPercent, Ends: Byte; DrawCircle: Boolean);
{
Рисование звёзд и многоугольников

Center - центр фигуры;
Pos - точка, лежащая на внешнем радиусе;
R2inPercent - сколько процентов от внешнего радиуса составляет внутренний;
Ends - число концов (внешних углов) фигуры;
DrawCircle - описывать или нет возле фигуры окружность;
Read more »

Масштабирование для Canvas

procedure SetCanvasZoomFactor(Canvas: TCanvas; AZoomFactor: Integer);
var
i: Integer;
begin
if AZoomFactor = 100 then
SetMapMode(Canvas.Handle, MM_TEXT)
else
begin
SetMapMode(Canvas.Handle, MM_ISOTROPIC);
SetWindowExtEx(Canvas.Handle, AZoomFactor, AZoomFactor, nil);
SetViewportExtEx(Canvas.Handle, 100, 100, nil);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
bitmap: TBitmap;
begin
bitmap := TBitmap.Create;
try
bitmap.Assign(Form1.image1.Picture.Bitmap);
SetCanvasZoomFactor(bitmap.Canvas, 70);
Canvas.Draw(30, 30, bitmap);
finally
bitmap.Free
end;
end;

Как изменить фоновый цвет текста

procedure TForm1.Button1Click(Sender: TObject);
var
OldTextColor: TColorRef;
OldBkColor: TColorRef;
OldBkMode: Integer;
begin
OldTextColor := SetTextColor(Form1.Canvas.Handle, clYellow);
OldBkColor := SetBkColor(Form1.Canvas.Handle, clGreen);
OldBkMode := SetBkMode(Form1.Canvas.Handle, OPAQUE);
TextOut(Form1.Canvas.Handle, 20, 20, ‘Delphi World - лучше всех! ;-)’, 27);
SetBkMode(Form1.Canvas.Handle, OldBkMode);
SetBkColor(Form1.Canvas.Handle, OldBkColor);
SetTextColor(Form1.Canvas.Handle, OldTextColor);
end;

Как быстро очистить канву

InValidateRect(Canvas.handle,NIL,True);

Если вы используете холст формы, то попробуйте следующее:

InValidateRect(form1.handle,NIL,True);

(или взамен передать дескриптор компонента)

Это очистит хост:

canvas.fillrect(canvas.cliprect);

Как быстро очистить канву

Canvas.Brush.Color := ClWhite;
Canvas.FillRect(Canvas.ClipRect);

Powered WP Ъ скачать delphi, delphi 7, скачать delphi 7, delphi файлы, delphi, компоненты, delphi 2009, delphi программы, delphi бесплатно, delphi скачать, бесплатно работа delphi, delphi создание, delphi строки, программирования delphi, borland delphi, delphi формы