大学生
最后登录1970-1-1
在线时间 小时
注册时间2014-7-7
|
楼主 |
发表于 2017-5-22 11:16:38
|
显示全部楼层
自问自答吧,给有需要的网友,我这是从别人的文章里面拷的,测试了下没有问题。我就会CTRL+C与CTRL+V
//-------------------------------------------------------------------------------------------------------------
void Shot_Test(void)
{
u8 buf[100];
u8 i = 0;
res_sd = f_mount(&fs,"0:",1);
sprintf ((char *)buf, "0:/SCREENSHORT_%d.bmp", i);
BSP_Shot(buf, 0, 0, 320, 240);
f_mount(NULL,"0:",1);
}
//-------------------------------------------------------------
static void _WriteByte2File(U8 Data, void * p)
{
UINT nWrite = 0;
f_write((FIL *)p, (TCHAR *)&Data, 1, &nWrite);
}
/*******************************************************************************
* Function Name : BSP_Shot
* Description : 截图功能
* Input : FileName 文件名
* x0 ,y0 起始坐标
* xSize, int ySize 两个坐标长度
* Output : None.
* Return : None.
*******************************************************************************/
void BSP_Shot(u8 * FileName, int x0, int y0, int xSize, int ySize)
{
static FIL hFile;
GUI_COLOR forecolor, backcolor;
forecolor = GUI_GetColor();
backcolor = GUI_GetBkColor();
f_open(&hFile, (const TCHAR *)FileName, FA_READ | FA_WRITE | FA_CREATE_ALWAYS);
GUI_BMP_SerializeEx(_WriteByte2File, x0, y0, xSize, ySize, &hFile);
f_close(&hFile); //写完,关闭文件
GUI_SetColor(forecolor);
GUI_SetBkColor(backcolor);
} |
|