![]() |
![]() ![]() ![]() ![]() |
|
Изобразить эффект разбрызгиванияDelphi , Графика и Игры , CanvasИзобразить эффект разбрызгивания
Оформил: DeeCo
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;
Код, предоставленный ниже, написан на Delphi и имитирует эффект разбрызгивания или разлета на контроле изображения (TImage). Когда вы перемещаете мышку над изображением или нажимаете левую кнопку мыши, случайное количество красных точек рассыпается вокруг курсора мыши. Следующий шаг:
Этот эффект может быть полезен в различных приложениях, таких как программы по искусству или дизайну, где вам нужно имитировать эффект разбрызгивания или разлета жидкостей. Показано создание программы на Delphi, которая имитирует эффект разбрызгивания красного цвета вокруг курсора мыши при его движении и нажатии. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||