Opengl, Readpixels

Тема в разделе "Pascal and Delphi", создана пользователем Victor1963, 10 мар 2012.

Статус темы:
Закрыта.
  1. Victor1963

    Victor1963 Гость

    Как перебрать каждый пиксель по цвету в glReadPixels, что-бы использовать всю, ниже показанною, логику в glReadPixels или есть что-то другое покажите. В Delphi . Вопросы по
    victor180663@mail.ru


    l:=0;
    k1:count:=0;
    k2:x:=500;
    y:=300;
    m:=0;
    ang:=6.28218;
    for r:=102 downto {93}1 do
    begin
    c:=bmCanvas.Pixels[round(x+r*cos(6.28318)),round(y+r*sin(6.28318))];
    if c=clBlack then
    begin
    m:=r;
    bmCanvas.Pixels[round(x+r*cos(6.28318)),round(y+r*sin(6.28318))]:=clWhite;
    end;
    end;
    While ang>(0.01) do
    begin
    for r:={50}1 to 105 do
    begin
    c:=bmCanvas.Pixels[round(x+r*cos(ang)),round(y+r*sin(ang))];
    if c=clBlack then
    begin
    bmCanvasPixels[round(x+r*cos(ang+0.01)),round(y+r*sin(ang+0.01))]:=clBlack;
    bmCanvasPixels[round(x+r*cos(ang)),round(y+r*sin(ang))]:=clWhite;
    end;
    end;
    ang:=ang-{0.01}0.0001;
    end;
    bmCanvasPixels[round(x+m*cos(6.28318+0.01)),round(y+m*sin(6.28318+0.01))]:=clBla
    ck;//Установка первой точки по час.
    begin
    for x:=605 downto {593}501 do
    begin
    c:=mas1[x,300];
    if (c=clBlack) and (x>=l) then
    begin
    l:=x;
    goto k1;
    end;
    end;
    count:=count+1;
    if count<5 then
    begin
    goto k2;
    end
    else
    begin
    goto k3;
    end;
    end;
    k3:count1:=0;
    ListBox1.Items.Add('Финиш');
    OperEnd:=DateTimeToTimeStamp(Now);
    Total:=OperEnd.Time-OperBegin.Time;
    ListBox1.Items.Add(IntToStr(Total)+' MSec');
    bm.SaveToFile('c:\Program Files\Borland\Delphi6\Projects\FormImage.bmp');

    end;
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей