Reverse.cpp
上传用户:yatsl7111
上传日期:2007-01-08
资源大小:1433k
文件大小:1k
源码类别:

图形图象

开发平台:

Visual C++

  1. // 未完成文件
  2. #include "stdafx.h"
  3. #include "System.h"
  4. #include "AdjustContrast.h"
  5. #include "Reverse.h"
  6. void _fnSPE_Reverse(BYTE *pRed,BYTE *pGrn,BYTE *pBlu)
  7. {
  8. *pRed=255-*pRed;
  9. *pGrn=255-*pGrn;
  10. *pBlu=255-*pBlu;
  11. }
  12. int _fnCOM_Reverse(LPIMAGEPROCSTR lpInfo)
  13. {
  14. static HANDLE hCursor;
  15. hCursor=GetCursor();
  16. SetCursor(LoadCursor(NULL, IDC_WAIT));
  17. //创建内存图像
  18. CreatMemImage(lpInfo);
  19. CopyMemory(lpInfo->_pdbdata ,lpInfo->_psbdata ,lpInfo->sImageInfo.width*lpInfo->sImageInfo.height*(lpInfo->sImageInfo.bitperpix/8));
  20. LPBYTE pRed=(LPBYTE)lpInfo->_pdbdata;
  21. LPBYTE pGrn=pRed+1, pBlu=pRed+2;
  22. WORD skip=lpInfo->sImageInfo.bitperpix/8;
  23. UINT i,j;
  24. for(i=0;i<(UINT)lpInfo->sImageInfo.width;i++)
  25. {
  26. for(j=0;j<(UINT)lpInfo->sImageInfo.height;j++)
  27. {
  28. _fnSPE_Reverse(pRed,pGrn,pBlu);
  29.        pRed+=skip;
  30.        pGrn+=skip;
  31.        pBlu+=skip;
  32. }
  33. }
  34. return PROCERR_SUCCESS;
  35. }