home *** CD-ROM | disk | FTP | other *** search
- ' +----------------------------------------------------------------------+
- ' | |
- ' | BASWIZ Copyright (c) 1990-1993 Thomas G. Hanlin III |
- ' | |
- ' | The BASIC Wizard's Library |
- ' | |
- ' +----------------------------------------------------------------------+
-
- DECLARE FUNCTION G2GetPel% (BYVAL X%, BYVAL Y%)
- DECLARE SUB SetBit0 (BYVAL ASeg%, BYVAL AOfs%, BitNr&, BYVAL BitVal%)
-
- DEFINT A-Z
-
- SUB G2Get (XX1, YY1, XX2, YY2, Image())
- IF XX1 < XX2 THEN
- X1 = XX1
- X2 = XX2
- ELSE
- X1 = XX2
- X2 = XX1
- END IF
- IF YY1 < YY2 THEN
- Y1 = YY1
- Y2 = YY2
- ELSE
- Y1 = YY2
- Y2 = YY1
- END IF
- L = LBOUND(Image)
- REDIM Image(L TO L + (5 + (X2 - X1 + 1) * (Y2 - Y1 + 1)) \ 2)
- Image(L) = X2 - X1 + 1
- Image(L + 1) = Y2 - Y1 + 1
- AWide = ((X2 - X1 + 8) AND &HFFF8)
- ASeg = VARSEG(Image(L + 2))
- AOfs = VARPTR(Image(L + 2))
- FOR Y = Y1 TO Y2
- FOR X = X1 TO X2
- Bit = G2GetPel(X, Y)
- SetBit0 ASeg, AOfs, (Y - Y1) * AWide + ((X - X1) XOR 7), Bit
- NEXT
- NEXT
- END SUB
-