[PASCAL] Problem z grafika ;/

0

czesc, mam problem pisze gre i potrzebuje jakiegos polecenia aby sprawdzic czy w danym punkcie jest pixel bialy. powiedzmy ze mam pole 20x20, i np w polu 15,6 jest pixel na bialo i ja bym chcial zrobic tak, ze
[quote]if pixel=bialy then cos_tam[/quote]
tylko jak mozna sprawdzic czy pixel jest na bialo?

0

Nie wiem w jakim trybie piszesz. W BGI używa się funkcji

GetPixel(X, Y :Integer) :Word;

Zwraca ona kolor piksela o wsp. X, Y. Teraz wystarczy porównać ze stałą koloru i masz. Dla grafiki 13h użyj tej funkcji:

FUNCTION GetPixel(Buf :Pointer; X, Y :Word) :Byte; ASSEMBLER;
ASM
  LES  DI, Buf
  MOV  AX, [Y]
  MOV  DI, AX
  SHL  AX, 8
  SHL  DI, 6
  ADD  DI, AX
  ADD  DI, [X]
  MOV  AL, BYTE PTR ES:[DI]
END; { GetPixel }

Gdzie Buf to bufor z którego pobierasz. Jeżeli od razu z ekranu to podstaw

GetPixel(Ptr($A000, 0000), X, Y)

1 użytkowników online, w tym zalogowanych: 0, gości: 1