![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Быстро прочтитать значения пикселей канвы в массив?? [D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]
Dark Hunter © (2003-03-14 15:50:00)как?
спасибо.
Карелин Артем (2003-03-18 17:43:00) [1]А я пошел по самому простому пути: компоненты с g32.org работают очень быстро + позволяет очень быстро сделать сабж.
Sosv (2003-03-18 11:40:00) [2]Scanline
i-C4H9OH (2003-03-18 02:36:00) [3]>>Быстро прочтитать значения пикселей канвы в массив??
Никак!!! канва - это обьектная "обертка" контекста графического устройства HDC. но не в этом дело. нельзя прочтитать значения пикселей с контекста устройства в массив. ведь HDC это АБСТРАКЦИЯ. ведь не у всякого устройства есть массив пикселей, правильно?
можно получить массив пикселей с битмапа, выбранного в контекст.
параметр dc в SetDiBits, как я понял, используется для того чтоб составить палитру, а в GetDiBits я так и не понял зачем он нужен
MBo (2003-03-17 12:43:00) [4]Если не уверен, что заполняешь правильно, сначала запиши в Info только ее SizeOf, вызови GetDiBits c nil вместо указателя на массив данных, тогда Info заполнится. Потом еще раз GetDiBits с адресом массива.
Dark Hunter (2003-03-17 12:35:00) [5]а можно подробнее?
проблема со структурой PBitmapInfo.
Если я её сам пытаюсь заполнять, выскакивают access violation.
Если не заполнять - работает, но не передаёт пикселы в указанный буфер. Как это нужно правильно делать?
MBo (2003-03-14 16:52:00) [6]GetDiBits