![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Эффект БлокиDelphi , Графика и Игры , Bitmap
Автор: Fenik { **** UBPFD *********** by delphibase.endimus.com **** >> Эффект 'Блоки' Зависимости: Windows, Classes, Graphics Автор: Fenik, chook_nu@uraltc.ru, Новоуральск Copyright: Собственное написание (Николай федоровских) Дата: 1 июня 2002 г. ***************************************************** } procedure Blocks(Bitmap: TBitmap; Hor, Ver, MaxOffset: Integer; BackColor: TColor); {вырезаем прямоугольники со сторонами Hor Ver и копируем их в радиусе MaxOffset} function RandomInRadius(Num, Radius: Integer): Integer; begin if Random(2) = 0 then Result := Num + Random(Radius) else Result := Num - Random(Radius); end; var x, y, xd, yd: Integer; Bmp: TBitmap; begin Bmp := TBitmap.Create; try Bmp.Assign(Bitmap); Bitmap.Canvas.Brush.Color := BackColor; Bitmap.Canvas.FillRect(Rect(0, 0, Bitmap.Width, Bitmap.Height)); xd := (Bitmap.Width - 1) div Hor; yd := (Bitmap.Height - 1) div Ver; Randomize; for x := 0 to xd do for y := 0 to yd do BitBlt(Bitmap.Canvas.Handle, RandomInRadius(Hor * x, MaxOffset), RandomInRadius(Ver * y, MaxOffset), Hor, Ver, Bmp.Canvas.Handle, Hor * x, Ver * y, SRCCOPY); finally Bmp.Free; end; end; Пример использования: Blocks(FBitmap, FBitmap.Width div 10, FBitmap.Height div 10, 4, clWhite); Программный код на Delphi, реализующий эффект "Блоки", который представляет собой простую анимацию, где прямоугольные блоки случайно перемещаются по канвасу. Вот подробное описание того, что код делает:
Пример использования в конце показывает, как вызывать процедуру Эффект Блоки - процедура на Delphi для создания изображения из прямоугольников с случайными координатами и размерами. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |