В общем что-то отупел с годами толи гуглом разучился пользоваться. В общем что надо: 1) Есть TImage фиксированного размера 2) Есть массив с данными (данные какраз описываются каждый пиксель картинки т.е. их размер = sizeof(пиксель) * w * h) Необходимо прорисовать эти пиксели. Сразу скажу что не подходят методы основанные на 1) на ScanLine потому что нужно не тока читать но и писать 2) Не подходит работа с пикселями черезе SetPixel/GetPixel/Pixel и им подобные по причине медленной скорости В общем требуется получить прямой доступ к буфера картинки. Логика подсказывает что надо мутить всё через DIB секции. Но хочется както средствами самой делфи это делать. Или же может есть компонент аналог timage который даёт доступ к памяти
а массив обновляется? пробовал directdraw, bitblt?еще попробуй либу QuickPixels upd погугли работу с ф-ей SetDIBitsToDevice сам не пользовался,но говорят быстро все делается,только надо понять как сделать что б в кач-ве параметра массив принялся.
Спасиб. В общем-то нашел еще довольно простой способ. 1) Ручками заполнить tagBITMAPINFO 2) Далее Image1.Picture.Bitmap.Handle := CreateDIBSection 3) Далее писать в полученную память и далее делать Repaint
С каких пор писать нельзя? Вроде как так делать нельзя, как минимум после того как была вызвана процедуры HandleNeeded в TBitmap. FastDIB вроде называется.