Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Как нарисовать прямоугольник

Отправлено Шунт_гороховый 16 декабря 2008 г. 22:32
В ответ на: А какую из операций вибирать ? Ни одна не соответствует моему случаю. Что такое Blt ? (Pat - наверное, pattern) отправлено Юрий_СВ 16 декабря 2008 г. 20:39

BarLeft, BarTop - координаты левого верхнего угла
BarWidth, BarHeight - размеры прямоугольника
PixelArray - массив 4-байтовых цветов точек в формате $00BBGGRR (белый = $FFFFFF), количество точек = BarHeight*BarWidth
Этот массив нужно заполнить нужной картинкой (если рисуешь квадрат малевича, то вообще ничего заполнять не надо - глобальные переменные уже проинициализированы нулями, будет всё чёрное)

Процедура рисования прямоугольника
var
BitInfo: TBitMapInfo;
...
with BitInfo.bmiHeader do begin
biSize := $28;
biWidth := BarWidth;
biHeight := BarHeight;
biPlanes := 1;
biBitCount := 32;
biCompression := BI_RGB;
biSizeImage := 4 * BarWidth * BarHeight;
biXPelsPerMeter := 0;
biYPelsPerMeter := 0;
biClrUsed := 0;
biClrImportant := 0;
end;
if SetDIBitsToDevice(HDC, BarLeft, BarTop, BarWidth, BarHeight, 0,
0, 0, BarHeight, @PixelArray,
BitInfo, DIB_RGB_COLORS) = 0 then
DisplayError('Ошибка, нах');


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
к трём прибавьте 5:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru