Недавно добавленные исходники

•  Animation Loaders  1 068

•  DeLiKaTeS Tetris (Тетрис)  6 002

•  TDictionary Custom Sort  7 930

•  Fast Watermark Sources  7 588

•  3D Designer  10 830

•  Sik Screen Capture  8 172

•  Patch Maker  8 360

•  Айболит (remote control)  8 411

•  ListBox Drag & Drop  7 277

•  Доска для игры Реверси  101 620

•  Графические эффекты  8 466

•  Рисование по маске  7 833

•  Перетаскивание изображений  6 424

•  Canvas Drawing  6 808

•  Рисование Луны  6 748

•  Поворот изображения  5 842

•  Рисование стержней  4 794

•  Paint on Shape  3 485

•  Генератор кроссвордов  4 513

•  Головоломка Paletto  3 627

•  Теорема Монжа об окружностях  4 415

•  Пазл Numbrix  2 868

•  Заборы и коммивояжеры  3 819

•  Игра HIP  2 587

•  Игра Go (Го)  2 602

•  Симулятор лифта  2 981

•  Программа укладки плитки  2 411

•  Генератор лабиринта  3 158

•  Проверка числового ввода  2 644

•  HEX View  3 056

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

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



Delphi Sources

Bitmap без формы



Автор: Mike Scott

- Как жизнь?
- Слоями...
Adobe Photoshop

Как мне загрузить изображение (BMP) и отобразить это на рабочем столе без использования формы? (Я хочу отображать это из DLL).

Существует один способ сделать это: создать холст TCanvas, получить контекст устройства для рабочего стола и назначить его дескриптору холста. После рисования на холсте десктоп отобразит ваше творение. Вот пример:


var
  DesktopCanvas: TCanvas;
begin
  DesktopCanvas := TCanvas.Create;
  try
    DesktopCanvas.Handle := GetDC(0);
    try
      DesktopCanvas.MoveTo(0, 0);
      DesktopCanvas.LineTo(Screen.Width, Screen.Height);
    finally
      ReleaseDC(0, DesktopCanvas.Handle);
      DesktopCanvas.Handle := 0;
    end;
  finally
    DesktopCanvas.Free;
  end;
end;

Вы можете создать TBitmap и загрузить в него BMP-файл. Единственная гнустная вещь может произойти, если вы используете изображение с 256-цветной палитрой при работе в режиме с 256 цветами. Обойти это припятствие можно так: создать форму без границ и заголовка, установить ее высоту и ширину в ноль, поместить на нее компонент TImage и загрузить в него необходимое изображение. VCL реализует для вас нужную палитру.








Copyright © 2004-2026 "Delphi Sources" by «SiteAnalyzer». Delphi World FAQ

Группа ВКонтакте