Мой DELPHI – Программирование

Всё для программера

Можно ли рисовать на рамке формы?

Вопрос:
Можно ли рисовать на рамке формы?
Ответ:
Обрабатывайте событие WM_NCPAINT. В примере рамка обводится красной линией
толщиной в 1 пиксел. Прочитать остальную часть записи »

Создание PolyPolygon используя массив точек?

Вопрос:
Создание PolyPolygon используя массив точек?

Ответ:

Polygon – метод компонента
TCanvas получает в качестве параметра динамический массив точек. Функция PolyPolygon()
из Windows GDI получает указатель на массив точек. Прочитать остальную часть записи »

Как создать bitmap из пиктогрммы (icon)?

Вопрос:
Как создать bitmap из пиктогрммы (icon)?
Ответ:
Используя Bitmap.Canvas.Draw нарисуйте пиктограмму на Bitmap'е.

Пример:

procedure TForm1.Button1Click(Sender: TObject);
var
	TheIcon : TIcon;
	TheBitmap : TBitmap;
begin
		TheIcon := TIcon.Create;
		TheIcon.LoadFromFile('C:\Program Files\Borland\IcoCur32\EARTH.ICO');
		TheBitmap := TBitmap.Create;
		TheBitmap.Height := TheIcon.Height;
		TheBitmap.Width := TheIcon.Width;
		TheBitmap.Canvas.Draw(0, 0, TheIcon);
		Form1.Canvas.Draw(10, 10, TheBitmap);
		TheBitmap.Free;
		TheIcon.Free;
	end;

Как извлечь Red, Green, и Blue компонент из определенного цвета?

Вопрос:
Как извлечь Red, Green, и Blue компонент из определенного цвета?

Ответ:

Используйте функции Window API Get RValue(), GetGValue(), и GetBValue().

Пример:

procedure TForm1.Button1Click(Sender: TObject);
begin
	Form1.Canvas.Pen.Color := clRed;
	Memo1.Lines.Add('Red := ' + IntToStr(GetRValue(Form1.Canvas.Pen.Color)));
	Memo1.Lines.Add('Red := ' + IntToStr(GetGValue(Form1.Canvas.Pen.Color)));
	Memo1.Lines.Add('Blue:= ' + IntToStr(GetBValue(Form1.Canvas.Pen.Color)));
end;

Как очистить содержимое Canvas’а?

Вопрос:
Как очистить содержимое Canvas'а?

Ответ:

Просто нарисуйте прямоугольник любого цвета.

Пример:

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