Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C++ Builder > Быстрый доступ к пикселям ?(как сделать?) |
Автор: zogman 30.1.2005, 15:54 |
Помогите ! Как мне быстро работать с картинкой ? (Мне достаточно работы с образом картинки в памяти, дело не в прорисовке). TBitmap->Canvas->Pixels[i][j]=... - работает медленней раз в 30 чем если бы это был просто массив в ОЗУ. Я бы хотел считать картинку в память, а потом работать с ней по пикселям. ************************** Второй вопрос : Как мне найти где лежат в памяти байты картинки после считывания? т.е. я ее считал через Graphics::TBitmap *bmp; bmp=new Graphics::TBitmap(); bmp->LoadFromFile("a.bmp"); Как мне найти где лежат BITMAPFILEHEADER BITMAPINFOHEADER ? Тогда бы я наверно решил первый свой вопрос. |
Автор: zogman 30.1.2005, 15:55 |
Помогите ! Как мне быстро работать с картинкой ? (Мне достаточно работы с образом картинки в памяти, дело не в прорисовке). TBitmap->Canvas->Pixels[i][j]=... - работает медленней раз в 30 чем если бы это был просто массив в ОЗУ. Я бы хотел считать картинку в память, а потом работать с ней по пикселям. ************************** Второй вопрос : Как мне найти где лежат в памяти байты картинки после считывания? т.е. я ее считал через Graphics::TBitmap *bmp; bmp=new Graphics::TBitmap(); bmp->LoadFromFile("a.bmp"); Как мне найти где лежат BITMAPFILEHEADER BITMAPINFOHEADER ? Тогда бы я наверно решил первый свой вопрос. |
Автор: myaut 31.1.2005, 18:12 |
ScanLine побыстрее будет |
Автор: Adil' 1.2.2005, 10:58 |
zogman, смотри в сторону GetObject(bmp->Handle); еще может удобнене будет GetDIBits использовать. |