?? img.c
字號:
/**************************** Imaging Ultilities****************************/#include "img.h"//// Clockwise rotation// for 16bit image//void RGB565Rotate(unsigned long BufIn, unsigned long BufOut, unsigned long imgH, unsigned long imgV, unsigned long dir){ long v, h, k; unsigned short * _dataIn = (unsigned short *)BufIn; unsigned short * _dataOut = (unsigned short *)BufOut; switch(dir) { case 90: { k = 0; for(h = 0; h < imgH; h ++) { for(v = imgV - 1; v >= 0; v --) { _dataOut[k] = _dataIn[v * imgH + h]; k ++; } } break; } case 270: { k = 0; for(h = imgH - 1; h >= 0; h --) { for(v = 0; v < imgV; v ++) { _dataOut[k] = _dataIn[v * imgH + h]; k ++; } } break; } } return;}//// Swap consecutive bytes//// InBuf = OutBuf is allowed//void Swap8(unsigned long InBuf, unsigned long OutBuf, int nByte){ unsigned long i; unsigned short b0, b1; unsigned char * _inBuf = (unsigned char *)InBuf; unsigned char * _outBuf = (unsigned char *)OutBuf; for(i = 0; i < nByte; i += 2) { b0 = _inBuf[i]; b1 = _inBuf[i + 1]; _outBuf[i] = b1; _outBuf[i + 1] = b0; } return;}//// Swap consecutive 16 bit half words//// InBuf = OutBuf is allowed//void Swap16(unsigned long InBuf, unsigned long OutBuf, int n16){ unsigned long i; unsigned short h0, h1; unsigned short * _inBuf = (unsigned short *)InBuf; unsigned short * _outBuf = (unsigned short *)OutBuf; for(i = 0; i < n16; i += 2) { h0 = _inBuf[i]; h1 = _inBuf[i + 1]; _outBuf[i] = h1; _outBuf[i + 1] = h0; } return;}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -