Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Отрисовка битового образца

Delphi , Графика и Игры , Bitmap




unit aplanes_;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
  TForm1 = class(TForm)
    procedure FormPaint(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  sky, aplane: TBitMap; // битовые образы: небо и самолет

implementation

{$R *.DFM}

procedure TForm1.FormPaint(Sender: TObject);
begin
     // создать битовые образы
  sky := TBitMap.Create;
  aplane := TBitMap.Create;

     // загрузить картинки
  sky.LoadFromFile('sky.bmp');
  aplane.LoadFromFile('aplane.bmp');

  Form1.Canvas.Draw(0, 0, sky); // отрисовка фона
  Form1.Canvas.Draw(20, 20, aplane); // отрисовка левого самолета

  aplane.Transparent := True;
     // теперь элементы рисунка, цвет которых совпадает с цветом
     // левой нижней точки битового образа, не отрисовываются
  Form1.Canvas.Draw(120, 20, aplane); // отрисовка правого самолета

     // освободить память
  sky.free;
  aplane.free;
end;

end.
Скачать весь проект

Код, который вы предоставили, - это проект Delphi, цель которого отображать два битмапа (картинку неба и самолет) на форме с помощью компонента TBitmap. Процедура FormPaint используется для рисования этих изображений на форме.

Рассмотрим, что каждый раздел кода делает:

  1. Раздел interface:

    • Он объявляет класс TForm1, представляющий основную форму.
    • Внутри этого класса есть один приватный и один публичный метод: FormPaint.
  2. Раздел var:

    • Он объявляет переменные для объекта TForm1 (Form1), битмап неба и самолета.
  3. Раздел implementation:

    • Директива $R *.DFM tells Delphi включить ресурсы формы.
    • Процедура FormPaint определена здесь.

Внутри этой процедуры:

 * Создаются два объекта TBitMap (небо и самолет).
 * Изображения загружаются из файлов с именами 'sky.bmp' и 'aplane.bmp'.
 * Битмап неба рисуется координатами (0, 0), что означает, что он будет отображаться в верхнем-левом углу формы.
 * Битмап самолета рисуется дважды: один раз координатами (20, 20) для отображения левого самолета и снова координатами (120, 20) для отображения правого самолета.
 * Свойство `Transparent` битмапа самолета устанавливается в True. Это означает, что любые пиксели в изображении с тем же цветом, что и нижний-левый пиксель, не будут рисоваться.
  1. Наконец, битмапы неба и самолета освобождаются для освобождения памяти, которую они использовали. Процедура FormPaint вызывается всякий раз, когда форма necesita repaint herself, например, при первом отображении или изменении размера формы.

В статье описывается использование библиотеки Graphics в Delphi для отрисовки битовых образцов, демонстрируя создание и загрузку картинок, а также их отрисовку на форме при помощи метода Draw.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Bitmap ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-01-29 05:53:41/0.0033149719238281/0