int WINAPI icePub_getImgfilePColor(char *strImgFilename,int x,int y,char *strR,char *strG,char *strB,int flag)
输入:strImgFilename 待处理的图片文件名
x x坐标
y y坐标
flag 输出RGB值的格式,0 10进制,1 16进制
输出:strR R值
strG G值
strB B值
返回码:0 OK-2 x,y值超出图片长宽
int retCode=-1
char strR[128],strG[128],strB[128]
Cstring m_mem
typedef int (WINAPI ICEPUB_GETIMGFILEPCOLOR)(char *strImgFilename,int x,int y,char *strR,char *strG,char *strB,int flag)
ICEPUB_GETIMGFILEPCOLOR *icePub_getImgfilePColor = 0
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll")
if(hDLLDrv)
icePub_getImgfilePColor = (ICEPUB_GETIMGFILEPCOLOR *)GetProcAddress(hDLLDrv, "icePub_getImgfilePColor")
if(icePub_getImgfilePColor)
retCode=icePub_getImgfilePColor("a.jpg",100,55,strR,strG,strB,0)
if(hDLLDrv)
FreeLibrary(hDLLDrv)
if(retCode == 0)
m_mem.Format("(x,y):%d,%d\r\nR:%s\r\nG:%s\r\nB:%s",point.x,point.y,strR,strG,strB)
AfxMessageBox(m_mem)
原型:
int WINAPI icePub_imgToFileTextdata(char *strImgFilename,char *strFilename,char *strFenge,int flag)
输入:strImgFilename 待处理图像文件 (会被强制256级灰度化)
strFilename 待生成BMP文本数据文件名
strFenge 列之间分隔符
flag 文本数据格式标志:0 10进制1 16进制10 RGB16进制
输出:
extern "C"
{
__declspec(dllexport)
int WINAPI icePub_imgToFileTextdata(char *strImgFilename,char *strFilename,char *strFenge,int flag)
}
#pragma comment(lib,"icePubDll.lib")
icePub_imgToFileTextdata("a.jpg","bmpdata.txt",",",0)
原型:
char * WINAPI icePub_getBufferFromImg2(char *strImgFilename,int *width,int *height,int huiGrade)
输入:strImgFilename 图片文件名
huiGrade 图像灰度化标志,0 no>1 and <=256 灰度级
输出:width 图像宽度
height 图像高度
返回值:图像的点阵数据(按照24位BMP格式)
extern "C"
{
__declspec(dllexport)
char * WINAPI icePub_getBufferFromImg2(char *strImgFilename,int *width,int *height,int huiGrade)
}
#pragma comment(lib,"icePubDll.lib")
char *bmpBuffer=NULL
int imgWidth, imgHeight
bmpBuffer = icePub_getBufferFromImg2 ("e:\\a.jpg",&imgWidth,&imgHeight,0)
//然后对bmpBuffer数据处理即可
if(bmpBuffer != NULL)
free(bmpBuffer)
原型:int WINAPI icePub_imgToBmp(char *strImgFilename,char *strBmpFilename,int huiFlag)
输入:strImgFilename 各种图像格式文件名
strBmpFilename bmp图像名
huiFlag 灰度化标志
输出:
typedef int (WINAPI ICEPUB_IMGTOBMP)(char *strImgFilename,char *strBmpFilename,int huiFlag)
ICEPUB_IMGTOBMP *icePub_imgToBmp = 0
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll")
if(hDLLDrv)
{
icePub_imgToBmp = (ICEPUB_IMGTOBMP *)GetProcAddress(hDLLDrv, "icePub_imgToBmp")
}
icePub_imgToBmp("a.png","hui1.bmp",1)
icePub_imgToBmp("b.jpg","hui2.bmp",1)
icePub_imgToBmp("c.gif","hui3.bmp",1)
if(hDLLDrv)
FreeLibrary(hDLLDrv)