2019-07-20 18:37发布
sogaside 发表于 2016-11-24 18:40 我也是把图片变成了数组,然后把这个数组在程序最前面定义好,用的是那个sd卡显示图片的例子,现在就显示不 ...
还是看不穿 发表于 2016-11-25 10:53 你都把数组弄出来,就不需要用解码的程序了呀。直接根据数组进行打点。 /* @ StartX 起始横坐标 ** @ ...
最多设置5个标签!
你都把数组弄出来,就不需要用解码的程序了呀。直接根据数组进行打点。
/* @ StartX 起始横坐标
** @ StartY 起始纵坐标
** @ Wide 图标宽度
** @ High 图标高度
*/
void LCD_DrawPicture1(u16 StartX,u16 StartY,u16 Wide,u16 High,u8 * pictrue)
{
u32 i; //这里需要注意,因为这里的图片的像素点最多70*70=4900,共4900*2=9800字节。
u16 x=StartX;
u16 y=StartY;
for (i=0;i<(Wide*High);i++)
{
LCD_Fast_DrawPoint(x,y,(pictrue[2*i]<<8)|(pictrue[2*i+1])); //高位在前,且两个数据组合成一个16位数据表示像素值
x++;
if(x>StartX+Wide-1)
{
x=StartX;
y++;
}
}
myfree(SRAMEX,gImage_jiaolian1);
myfree(SRAMEX,gImage_jiaolian2);
myfree(SRAMEX,gImage_xueyuan1);
myfree(SRAMEX,gImage_xueyuan2);
}
这是我显示图标的函数。
你都把数组弄出来,就不需要用解码的程序了呀。直接根据数组进行打点。
/* @ StartX 起始横坐标
** @ StartY 起始纵坐标
** @ Wide 图标宽度
** @ High 图标高度
*/
void LCD_DrawPicture1(u16 StartX,u16 StartY,u16 Wide,u16 High,u8 * pictrue)
{
u32 i; //这里需要注意,因为这里的图片的像素点最多70*70=4900,共4900*2=9800字节。
u16 x=StartX;
u16 y=StartY;
for (i=0;i<(Wide*High);i++)
{
LCD_Fast_DrawPoint(x,y,(pictrue[2*i]<<8)|(pictrue[2*i+1])); //高位在前,且两个数据组合成一个16位数据表示像素值
x++;
if(x>StartX+Wide-1)
{
x=StartX;
y++;
}
}
myfree(SRAMEX,gImage_jiaolian1);
myfree(SRAMEX,gImage_jiaolian2);
myfree(SRAMEX,gImage_xueyuan1);
myfree(SRAMEX,gImage_xueyuan2);
}
这是我显示图标的函数。
是带图像头数据的数组吗?
直接定义一个数组就可以的吧?
一周热门 更多>