Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #76  
Старый 08.12.2012, 20:05
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию

Вот только с Харькова приехал, только сейчас посмотрел юнит. Да вот только рисованием с помощью битмапа не работал, подскажите как им вообще пользоваться и отрисовывать на нем объекты?
Ответить с цитированием
  #77  
Старый 08.12.2012, 21:44
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Это наверное проще посмтреть какое-нибудь описание по работе с канвасом в сети, чем рассказывать.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #78  
Старый 08.12.2012, 22:19
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию

Погуглил, принцип битмапа как канвас, а как именно объекты перерисовывать?
Ответить с цитированием
  #79  
Старый 08.12.2012, 22:41
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Неверное представление
Цитата:
битмапа как канвас
Битмап сам по себе, канвас сам по себе. Но у битмапа в VCL интегрирован канвас, для удобства программирования. И что значит объекты, битмап нужен для загрузки/сохранения изображений, а за счёт интегрированного канваса - удобный метод отрисовки в нём.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #80  
Старый 08.12.2012, 22:51
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию

Все, я понял, но каким образом можно рисовать объекты на битмапе? Редактировать классы?
Ответить с цитированием
  #81  
Старый 08.12.2012, 22:59
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Канвас ведь умеет работать с графическими примитивами - линия, круг, эллипс, прямоугольник, дуга и другие. Вот ими что-либо рисуют, иначе я не понимаю постановку вопроса.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #82  
Старый 08.12.2012, 23:36
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию

Да, но Вы сказали что во избежание мерцания нужно объекты рисовать на битмапе, вот я и спрашиваю: каким образом?
Ответить с цитированием
  #83  
Старый 08.12.2012, 23:43
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Вот я и привел пример, затем копируешь битмап на форму.
Код:
function WndProc(Wnd : HWND; Msg : Integer; wParam, lParam : Longint): Integer; stdcall;
var
  ps    : PAINTSTRUCT;
...
  WM_PAINT :
  begin
    BeginPaint(Wnd, ps);
    BitBlt(ps.hdc, 0, 0, Bmp.Width, Bmp.Height, Bmp.Canvas.Handle, 0, 0, Bmp.Width, Bmp.Height, SRCCOPY);
    EndPaint(Wnd, ps);
  end;
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #84  
Старый 09.12.2012, 13:21
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию

А что подставляется под Bmp? Что там должно быть?
Ответить с цитированием
  #85  
Старый 09.12.2012, 13:59
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию

Странно, не компилируется:
Код:
#define ID_POPUPMENU $99;
#define ID_ADDFILES $100;
#define ID_ADDFOLDER $110;
#define ID_OPENPLAYLST $120;
#define ID_SAVEPLAYLST $130;
#define ID_VIEW $140;
#define ID_FULLPATH $200;
#define ID_ONLYNAME $210;
#define ID_HIDEPATH $220;
#define ID_REDUCENAME $230;
#define ID_ONTOP $150;
#define ID_HOTKEYS $160;
#define ID_CONFIG $170;

ID_POPUPMENU MENUEX
BEGIN
  POPUP ""
  BEGIN
    MENUITEM "Добавить файлы...\tCtrl+O", ID_ADDFILES
    MENUITEM "Добавить папку...\tCtrl+F", ID_ADDFOLDER
    MENUITEM SEPARATOR
    MENUITEM "Открыть плейлист...\tAlt+O", ID_OPENPLAYLST
    MENUITEM "Сохранить плейлист\tCtrl+S", ID_SAVEPLAYLST
    MENUITEM SEPARATOR
    POPUP "&Вид", ID_VIEW
    BEGIN
      MENUITEM "&Показывать путь и расширение файла", ID_FULLPATH
      MENUITEM "&Отображать только имя файла", ID_ONLYNAME
      MENUITEM "&Скрывать только путь к файлу", ID_HIDEPATH
      MENUITEM SEPARATOR
      MENUITEM "&Сокращать имена файлов", ID_REDUCENAME
    END
    MENUITEM "Поверх всех окон\tAlt+T", ID_ONTOP
    MENUITEM "Горячие клавиши...\tF1", ID_HOTKEYS
    MENUITEM "Конфигурация...\tF2", ID_CONFIG
  END
END
Что тут не так?
Ответить с цитированием
  #86  
Старый 09.12.2012, 14:05
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию

А все, исправил.
Ответить с цитированием
  #87  
Старый 09.12.2012, 22:40
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию

Цитата:
Сообщение от sariman
А что подставляется под Bmp? Что там должно быть?
Выше писал, может не увидели.
Ответить с цитированием
  #88  
Старый 09.12.2012, 22:52
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Почему же, видел. Можешь фоновую картинку загрузить, можешь туда отрисовать спектрограмму.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #89  
Старый 09.12.2012, 22:57
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию

Спектр в плеере не буду делать. Вообще цель этой программы - обеспечить максимальную производительность программы даже на самых слабеньких компах за счет ее минимализма.
Ответить с цитированием
  #90  
Старый 09.12.2012, 23:02
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Хи-хи-хи, насмешил. Ты в курсе когда появился WinAMP? Он уже во времена XT и 286 со спектрограммой был.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:56.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2026