📄 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 + -