|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.10.2014, 19:45 | #1 |
Регистрация: 03.03.2010
Сообщений: 3
|
обработка изображения (BitBlt)
Задача:
Есть два изображения одинаковой размерности - B1: TBitmap, B2: TBitmap. Необходимо получить изображение B3: TBitmap в котором: Код:
Через доступ к пикселям (Canvas.Pixels[I, J].Color) я эту задачу решил. А вот с помощью функции BitBlt не получается. Хотя я думаю это возможно. Ведь если вызвать: Код:
Последний раз редактировалось Stilet; 07.10.2014 в 20:45. |
07.10.2014, 20:46 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
07.10.2014, 22:17 | #3 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,886
|
I и J перепутаны местами (параметры Pixels - ширина, потом высота), ошибка не проявилась скорее всего из-за квадратных картинок.
Я бы не стал возиться с битблитом, хотя немаловероятно, что через него (манипулируя режимами) можно решить задачу, я бы сделал через TBitmap.ScanLine - скорость высокая, поищите по форуму темы с его использованием. Сканлайн по идее должен выиграть просто потому, что блитов надо будет 2 и/или более, и это несколько раз прогонять все пиксели (пусть и оптимизировано в кишках винды), а тут Вы точно знаете, что прогон один. |
08.10.2014, 07:46 | #4 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
phomm посоветовал Вам правильный и быстрый вариант решения - scanline. C помощью тернарных растровых операций можно сделать так, как Вы хотите, но вам как ни крути понадобится маска. А для создания маски есть два пути : а) Paint, Paint.NET, Corel Draw, PhotoShop, etc ; б) опять же либо pixels[i,j] , либо scanline. То есть либо Вы будете постоянно для новой картинки, чтобы создать маску, открывать растровый редактор, либо ваша программа сама будет делать это за вас.
Если помог, проси поставить минус. Будь оригинален!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка изображения | Chester751 | Мультимедиа в Delphi | 1 | 12.04.2013 23:19 |
обработка и преобразование изображения | midiss | C++ Builder | 0 | 04.06.2012 14:52 |
обработка изображения в потоке | Dеlphi | Общие вопросы Delphi | 8 | 04.03.2011 22:01 |
BitBlt, вывод изображения | zotox | Win Api | 5 | 22.04.2010 21:43 |
Обработка изображения | Hollander | Мультимедиа в Delphi | 6 | 10.03.2008 14:21 |