Delphirus - прграммирование на delphi
   Все о delphi Delphirus - прграммирование на delphi
blocks.gif
Навигация
 

Главная
Статьи
Базы данных
Графика
Защита
Интернет
Система
Тексты
Мультимедиа
Файлы
Формы и окна
Другое
Советы
Базы данных
Графика
Интернет
Мультимедиа
Система
Тексты
Файлы
Файлы
Исходники
Компоненты
Инфо
Поиск по сайту
Обратная связь
Самое популярное
Аккаунт
Карта сайта

 
 
 

Советы по delphi \ Графика и Игры \ Canvas \ Изобразить эффект разбрызгивания

Изобразить эффект разбрызгивания

procedure Spray(Canvas: TCanvas; x, y, r: Integer; Color: TColor);
 var
   rad, a: Single;
   i: Integer;
 begin
   for i := 0 to 100 do
   begin
     a   := Random * 2 * pi;
     rad := Random * r;
     Canvas.Pixels[x + Round(rad * Cos(a)), y + Round(rad * Sin(a))] := Color;
   end;
 end;

 procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
   Y: Integer);
 begin
   if ssLeft in Shift then Spray(Image1.Canvas, x, y, 40, clRed);
 end;

 procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
 begin
   if ssLeft in Shift then Spray(Image1.Canvas, x, y, 40, clRed);
 end;

Название: Изобразить эффект разбрызгивания
Дата публикации: 2004-08-30 (2680 Прочтено)

 
 

 

Page generation 0.031 seconds