|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.10.2010, 04:59 | #1 |
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2007
Сообщений: 157
|
Создание TBitmap с ScanLine другого битмапа...
Здравствуйте!
Как можно создать TBitmap или пусть даже HBITMAP на основе указателя уже имеющегося TBitmap.ScanLine[0]? Вот например есть ф-я Код:
Код:
Чтобы я мог работать с той памятью которую получаю так как с обычным TBitmap. Или единственный выход будет такой? Копирование - Обработка - Копирование обратно? Код:
Есть другие варианты решения проблемы? Последний раз редактировалось SalasAndriy; 25.10.2010 в 07:11. |
25.10.2010, 09:32 | #2 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Зачем всё так запутанно и сложно?
HBITMAP - это указатель на описание битмапа... bmp.ScanLine[0] - это указатель на начало диб-секции в памяти (массив байт)... Для вашего "эффекта" обязательно делать копию картинки? Может просто через указатель работать? Или передавайте функции DrawEffect сам TBitmap...
I am the First of Cyber Evolution...
I am the First to Program your Future... |
25.10.2010, 09:40 | #3 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
CreateDIBSection
|
25.10.2010, 16:57 | #4 | |||
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2007
Сообщений: 157
|
Цитата:
Цитата:
Цитата:
|
|||
25.10.2010, 18:58 | #5 | |||
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Цитата:
Цитата:
Цитата:
Как-то странно... А как же формат (количество бит на пиксель)? Или он там известный/фиксированный? Ничего подходящего сходу не вспомнилось... Возможно если только ещё в gdiplus посмотреть... Если нужна скорость, то ИМХО лучше "построить кучу велосипедов"... Кстати в сети полно готовых "велосипедных" алгоритмов с открытым исходным кодом...
I am the First of Cyber Evolution...
I am the First to Program your Future... |
|||
25.10.2010, 21:35 | #6 | |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
Цитата:
2. Сначала разберитесь, а потом подумайте прежде чем писать ерунду 3. Что мешает по полученному указателю на биты HBITMAP, скопировать из указателя ваших данных? 4. Вы понимаете что после создания HBITMAP таким образом, система уже сама заботиться о корректном освобождении занимаемой памяти данным HBITMAP? А вы хотите чтобы она связала ваш указатель с новым HBITMAPом, что не есть хорошо по моему. 5. А кто мешает сначала создавать HBITMAP (CreateDIBSection), а потом зная прямой адрес битовой карты, работать как с обычным указателем? UPD: В принципе можете еще использовать CreateBitmap, но я не уверен что после создания нового HBITMAP'а с помощью данной функции, вы сможете обращаться на прямую к памяти/битам используя старый указатель (указанный в функции в качестве параметра). Последний раз редактировалось BOBAH13; 25.10.2010 в 21:39. |
|
25.10.2010, 23:47 | #7 | ||||||||||
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2007
Сообщений: 157
|
Цитата:
Цитата:
Это SDK плагина... Цитата:
Цитата:
Цитата:
Цитата:
Не писал бы вообще если бы знал как решить задачу... Цитата:
Цитата:
Цитата:
Цитата:
Последний раз редактировалось SalasAndriy; 26.10.2010 в 00:02. |
||||||||||
25.10.2010, 23:47 | #8 |
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2007
Сообщений: 157
|
Сори... нажал 2 раза кнопку отправить... Модеры, удалите это сообщение...
Последний раз редактировалось SalasAndriy; 25.10.2010 в 23:50. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Недостаточно памяти для большого битмапа | Alex Cones | Общие вопросы Delphi | 15 | 07.07.2010 07:11 |
Указатели. Объясните пожалуйста на примере scanline. | TwiX | Общие вопросы Delphi | 3 | 19.10.2009 12:24 |
запись битмапа в файл | SunKnight | Общие вопросы Delphi | 8 | 09.06.2008 08:56 |
Как ускорить загрузку битмапа в tImage | Altera | Мультимедиа в Delphi | 10 | 24.03.2008 17:39 |
Сжатие битмапа | Rapid | Мультимедиа в Delphi | 7 | 08.12.2007 16:38 |