Scan Line

Demonical Monk

Scan Line

Autor: fatalbomb

Może teraz jakiś efekt ekranowy? Wrzucę tu przykład z UP-ka 5.0 Pro - scanline. Więcej efektów opublikuję w innym artykule, już po publikacji UP-ka. To jest mała prezentacja możliwości, jakie UP 5 daje:)

procedure scanline;
var x,y,mx,my,i,j:integer;
    dc:hdc; //uchwyt obrazu pulpitu
begin
i:=0; //zerujemy i;
  mx:=Screen.Width; //pobieramy szerokość ekranu
  my:=Screen.Height; //wysokość
  dc:=CreateDC('DISPLAY',nil,nil,nil); //tworzymy nasz obraz
  repeat
    for j:=0 to mx do //przez calą długość linii rysujemy czarne piksele
      begin
        SetPixelV(dc,j,i,clblack); //generujemy linie
      end;
    i:=i+2; //zwiększamy i o dwa, bo jedną linię y chcemy opuścić
  until (i>(my-2)); //dopóki nie dojedziemy do końca ekranu (-2 na wypadek dziwnej rozdzielczości)
  DeleteDC(dc); //zwalniamy pamięć
end;

Procedurę wystarczy wywołać tylko raz.

1 komentarz

Nie widzę powodu żeby w ogóle deklarować zmienne X, Y, Mx, i My.
A ja mam jeszcze pytanie, jak programowo "wyczyścić" ekran. Na przykłąd gdyby to był Canvas, to jaki jest odpowiednik funkcji Refresh?