Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.09.10;
Скачать: CL | DM;

Вниз

Как быстро заполнить TBitmap   Найти похожие ветки 

 
EgorovAlex ©   (2012-03-23 14:35) [0]

Есть такая последовательность данных (пробелы для визуальности):
FFF0 FFF0 FFF0 FFF0 FFF0 FFF0 FFF0 FFF0 FFF0 FFF0 FFF0 FFF0
и мне известны параметры битмапа: 12х12 и 2 байта на строку,
1 бит на пиксель
т.е. FFF0 - это одна строка вида 11111111 11110000
тут значимые только единицы, т.к. ширина битмапа 12

Как мне эту последовательность в битмап быстро загнать?
Конечно не именно эту, а алгоритм


 
EgorovAlex ©   (2012-03-23 14:39) [1]

Начал так:

Bitmap := TBitmap.Create;
Bitmap.PixelFormat := pf1Bit;
Bitmap.Width  := 12;
Bitmap.Height := 12;

Как сами данные загнать, чтобы быстро


 
Dimka Maslov ©   (2012-03-23 14:39) [2]

надо прочитать про ScanLine


 
MBo ©   (2012-03-23 14:42) [3]

Например, CreateBitmap


 
EgorovAlex ©   (2012-03-23 15:12) [4]

Спасибо, мне даже больше CreateBitmapIndirect подходит - все данные есть для вызова


 
EgorovAlex ©   (2012-03-23 15:20) [5]

ну и по освобождению памяти уточню:

Bitmap := TBitmap.Create;
Bitmap.Handle := CreateBitmapIndirect(BMP); // BMP: PBITMAP
Bitmap.Free;

Тут всё правильно, никаких утечек памяти?


 
MBo ©   (2012-03-23 15:27) [6]

Графический объект, соотв. заменяемому Handle, освобождается, так что в этом смысле утечек нет.



Страницы: 1 вся ветка

Текущий архив: 2015.09.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.045 c
2-1392826517
dehkanin
2014-02-19 20:15
2015.09.10
Как записать в таблицу БД текст объёмом свыше 2-х мегабайт?


2-1396356964
Дмитрий
2014-04-01 16:56
2015.09.10
0,1 is not a valid BCD value


15-1418679002
Юрий
2014-12-16 00:30
2015.09.10
С днем рождения ! 16 декабря 2014 вторник


2-1394454003
FMX
2014-03-10 16:20
2015.09.10
SQLite + FireDAC


15-1421357405
Юрий
2015-01-16 00:30
2015.09.10
С днем рождения ! 16 января 2015 пятница