SYS(2600, nOffset+nPos, 3, 0)>Quick question.... you're doing this to convert to white:
>>LOCAL oBmp AS xfcBitmap >>LOCAL oBmpData AS xfcBitmapData >> >>DO System.app >> >>cOpenFile = GETPICT() >>IF EMPTY(cOpenFile) >> RETURN >>ENDIF >>cSaveFile = PUTFILE("Save","output.bmp","bmp") >>IF EMPTY(cSaveFile) >> RETURN >>ENDIF >> >>WITH _SCREEN.System.Drawing >> ** Open the file >> oBmp = .Bitmap.FromFile(cOpenFile) >> ** Lock the entire image bits >> oRect = .Rectangle.New(0, 0, oBmp.Width, oBmp.Height) >> oBmpData = oBMP.LockBits(oRect, ; >> .Imaging.ImageLockMode.ReadWrite, ; >> .Imaging.PixelFormat.Format24bppRGB) >> >> IF oBmpData.Scan0 << 0 >> ** Calculate the memory size, there are 3 bytes per pixel (24bpp) >> nBytes = oBmpData.Width * oBmpData.Height * 3 >> nOffset = oBmpData.Scan0 >> FOR nPos = 0 TO nBytes-1 STEP 3 >> nR = ASC(SYS(2600, nOffset+nPos, 1)) >> nG = ASC(SYS(2600, nOffset+nPos+1, 1)) >> nB = ASC(SYS(2600, nOffset+nPos+2, 1)) >> >> IF MOD(nR+nG+nB,2)=1 && Pixel Sum is Odd, convert to White >> SYS(2600, nOffset+nPos, 3, 0hFFFFFF) >> ENDIF >> >> ** Progress: >> IF MOD(nPos,300)=0 >> WAIT WINDOW NOWAIT NOCLEAR ; >> "Converting: "+ALLTRIM(STR(nPos*100/nBytes))+"%" >> ENDIF >> ENDFOR >> ** Unlock the memory bits >> oBmp.UnlockBits(oBmpData) >> ** Save changes to a BMP file >> oBmp.Save(cSaveFile, .Imaging.ImageFormat.Bmp) >> WAIT CLEAR >> ENDIF >>ENDWITH >> >>RETURN >>