Показать сообщение отдельно
Старый 23.11.2004, 21:58     # 3
kot_
Junior Member
 
Аватар для kot_
 
Регистрация: 19.11.2004
Адрес: Dnepropetrovsk
Пол: Male
Сообщения: 67

kot_ Путь к славе только начался
Цитата:
Сообщение от lokiSE
Есть поток. Из него я декодирую картинки. картинки получаются в таком виде: RGB RGB RGB, т.е. на каждый цвет по 1 байту - 3 байта на пиксел, на картинку - 320*240*3 байта. Все байты лежат в массиве 320*240*3 заподряд. Есть еще на форме компонент picture.
А вопрос такой: как эффективнее всего перенести битовый образ (мой массив, в котором лежат триплеты байтов) на компонент picture, т.е. попросту мой образ нужно отобразить на форму, если можно без компонента picture - еще лучше, т.е. отображать прямо на свободном месте формы мою картинку. Наилучший способ для меня - просто получить указатель на область памяти и скопировать мой массив туда и чтоб после такого копирования картинка появилась на экране в нужном мне месте формы
Здесь важно то что по сути своей форма - это поверхность на которой ты можешь рисовать. При этом если по задаче нужна поддержка DirectX - значит используешь его и работаешь с поверхностями. Если не нужна - значит рисуешь в памяти а потом используешь функцию копирования. Ну например BitBlt(HDC hdcDest,int xDest,int YDest,int Width,int Height,HDC hdcSours,int XSrs,int YSrs,DWORD Rop) - она как раз и используется для подобных операций.
__________________
kot_ вне форума