Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];

Вниз

Как быстро заполнить 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.043 c
2-1392372907
санек
2014-02-14 14:15
2015.09.10
компонент TdateTime


15-1417530390
MsGuns
2014-12-02 17:26
2015.09.10
Пейдж vs Блэкмор


15-1419718332
alexdn
2014-12-28 01:12
2015.09.10
Плагин для Paint.net


2-1392652694
dehkanin
2014-02-17 19:58
2015.09.10
Как визуализировать записи таблицы?


15-1413357927
ВладОшин
2014-10-15 11:25
2015.09.10
Думаю писать StringToТелефоны





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский