Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.24;
Скачать: CL | DM;

Вниз

Использование SetBitmapBits с динамическим массивом   Найти похожие ветки 

 
novarm44   (2002-10-12 01:33) [0]

При подстановке в SetBitmapBits матрицы с фиксированным количеством столбцов и рядов все работает без проблем, а при использовании:

var PixelMat:array of array of TColor;
...
SetBitmapBits (Form1.Image1.Picture.Bitmap.Handle,length(rmat)*length(rmat[0])*3,@PixelMat);
Form1.Image1.Refresh;
//sizeof в таком случае не работает


выводит белый экран

При подстановке PixelMat вместо @PixelMat начинает выводить бред всякий.


 
PVOzerski ©   (2002-10-12 05:16) [1]

Точно не знаю, но есть подозрение. Динамический 2-мерный массив на самом деле
есть не что иное как структура, один из элементов которой - указатель на блок
памяти, заполненный структурами, содержащими, в частности, указатели на блоки памяти,
заполненные данными (tColor в Вашем случае). Как видите, внутренняя организация его
радикально отличается от таковой статического 2-мерного массива, так "бред" закономерен.
Я бы попробовал переделать массив в 1-мерный (рассчитывать столбцы и строки вручную,
по смещению) и передавать в SetBitmapBits адрес 0-го элемента. А то и вообще плюнуть
на эти навороты поздних версий Delphi и работать через GetMem :^)



Страницы: 1 вся ветка

Текущий архив: 2002.10.24;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.016 c
8-78545
PycUS
2002-06-24 22:51
2002.10.24
Звук


1-78522
Леван
2002-10-14 09:39
2002.10.24
Formi v Runtime


4-78706
Rasa
2002-09-10 03:18
2002.10.24
Помогите доками по интерфейсам!


4-78712
Zion
2002-09-10 19:09
2002.10.24
Вопрос о консоли... о ней... родимой =)


1-78434
brestmarket
2002-10-11 14:52
2002.10.24
Вопрос к мерчендайзерам шаровара!?