![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Хай всем. Помогите разобраться.
Пытаюсь воссоздать цветовые эффекты, которые описаны в статьеhttp://www.delphimaster.ru/articles/grad/index.html сам код Код:
procedure TForm1.FormPaint(sender:TObject);
type TRGB=record
b,g,r:byte;
end;
ARGB=array [0..1] of TRGB;
PARGB=^ARGB;
var
b:TBitMap;
p:PARGB;
x,y:integer;
begin
b:=TBitMap.Create;
b.pixelformat:=pf24bit;
b.width:=Clientwidth;
b.height:=Clientheight;
for y:=0 to b.height-1 do
begin
p:=b.scanline[y];
for x:=0 to b.width-1 do
begin
p[x].r:=random(256);
p[x].g:=random(256);
p[x].b:=random(256);
end;
end;
canvas.draw(0,0,b);
b.free;
end;И на строчке Код:
p[x].r:=random(256); Прошелся дебагером и определил что при x=0 и 1 все норм работает(как и должно быть, т.к. двумерный массив). Так вот вопрос, почему при x>1 возникает ошибка (хотя мне кажется что так и должно быть) и как мне сделать, чтобы код заработал. Заранее спасибо. p.s. среда delphi 2010 аналогичный код видел и на других форумах и он вроде как д.б. рабочим Последний раз редактировалось ildvild, 10.02.2013 в 20:12. |