OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6534|回复: 20

原子哥,关于取背景色的问题

[复制链接]

7

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-18
在线时间
0 小时
发表于 2013-7-16 11:52:20 | 显示全部楼层 |阅读模式
如何把一张图片颜色取下来    然后作为30*60的字体的背景色。。。。。怎么样才能做到?
只求每天都能把小事做好。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-18
在线时间
0 小时
 楼主| 发表于 2013-7-16 14:34:26 | 显示全部楼层
//在指定位置显示一个大字符
//30*60大小的
//num:0~9
//:/./C这三个字符
void LCD_ShowBigChar(u16 x,u16 y,u8 num)
{
u8 n,t;
u8 temp;
u16 t1,deadline;
u16 colortemp=POINT_COLOR; 
u16 x0=x;     
if(num==':')
t1=150;
else if(num=='.')
t1=165;
else if(num=='-')
t1=570;
else if(num=='+')
t1=585;
else if(num==' ')//空格
t1=600;
else if(num>=0x41)
t1=15*(num-53);//A--0X41(65)-53=12
else 
t1=15*num;
deadline=t1+15;
for(;t1<deadline;t1++)
{  
for(n=0;n<16;n++)
{
temp=BIG_ASCII[t1][n];
for(t=0;t<8;t++)
{
if(temp&0x80)
POINT_COLOR=colortemp;
else 
POINT_COLOR=BACK_COLOR;
LCD_DrawPoint(x,y);    
temp><<=1;
x++;
if(((n%4)==3)&&t==5)
{
x=x0;
y++;  
break;
}
}
}
}    
POINT_COLOR=colortemp;              
}



这个显示函数可以改成30*30的吗??
只求每天都能把小事做好。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-16 14:51:59 | 显示全部楼层
回复【2楼】我爱STM_32:
---------------------------------
肯定可以的,自己修改代码和字库.

回复【楼主位】我爱STM_32:
---------------------------------
先读汉字显示区域图片的颜色,保存下来,然后以画点的方式写一个汉字.最后要写下一个汉字在这里的时候,先还原图片,然后同样的方法写字.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-18
在线时间
0 小时
 楼主| 发表于 2013-7-16 15:04:47 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
取背景色就刚刚搞定了。。   30*30的字库不会做啊?
只求每天都能把小事做好。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-16 15:06:29 | 显示全部楼层
回复【4楼】我爱STM_32:
---------------------------------
学习我们的汉字显示实验,学会汉字字库的制作先.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

119

帖子

0

精华

初级会员

Rank: 2

积分
169
金钱
169
注册时间
2013-4-6
在线时间
3 小时
发表于 2013-7-16 15:17:11 | 显示全部楼层
要用stm32内存来保存背景, 困难度真的很高.   一般级也就64K最大.

而一个30x30的16bit颜色背景,  就需要1,800 bytes .

这还只是保存一小块.   如果有多个数字区块都要保存.    那就受不了了 .

所以,  一般如果真正要商品化,  恐怕必须透过扩展外部sram来解决这样的问题 .
回复 支持 反对

使用道具 举报

7

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-18
在线时间
0 小时
 楼主| 发表于 2013-7-16 16:17:40 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
单个汉字的30*30,我就会。。。。但是字库?就不知道要怎么才能做了。   纳闷
只求每天都能把小事做好。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-16 16:26:52 | 显示全部楼层
我们的汉字显示实验不是有例程么?
告诉你怎么做字库的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-18
在线时间
0 小时
 楼主| 发表于 2013-7-16 16:33:25 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
好吧,我马上去研究研究一下。。。       对了 ,原子哥在240*320的背景图片上的某一小区域里(例如:在坐标70,80)上显示一张小图片是怎么样实现的?这个没思路,不好做。。。
只求每天都能把小事做好。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-16 16:50:50 | 显示全部楼层
我们的例程都做好了,学会用先.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-18
在线时间
0 小时
 楼主| 发表于 2013-7-16 17:05:00 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
那个例程啊?原子哥,显示一张全图的图片,这个我学会了,但是在一张图片上,再显示一张小图片,就不知道,怎么做了。。。  原子哥,可以说说怎么做吗?现在做显示屏这个实验。。。
只求每天都能把小事做好。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-16 21:13:41 | 显示全部楼层
//智能画图
//FileName:要显示的图片文件  BMP/JPG/JPEG/GIF
//x,y,width,height:坐标及显示区域尺寸
//acolor:alphablend的颜色(仅对不大于320*240的32位bmp有效!)
//abdnum:alphablend的值(0~32有效,其余值表示不使用alphablend,仅对不大于320*240的32位bmp有效!)
//图片在开始和结束的坐标点范围内显示
u8 ai_load_picfile(const u8 *filename,u16 x,u16 y,u16 width,u16 height)
{
u8 res;//返回值
u8 temp;
if((x+width)>lcddev.width)return IC_WINDOW_ERR; //x坐标超范围了.
if((y+height)>lcddev.height)return IC_WINDOW_ERR; //y坐标超范围了.  
//得到显示方框大小     
if(width==0||height==0)return IC_WINDOW_ERR; //窗口设定错误
picinfo.S_Height=height;
picinfo.S_Width=width;
//显示区域无效
if(picinfo.S_Height==0||picinfo.S_Width==0)
{
picinfo.S_Height=lcddev.height;
picinfo.S_Width=lcddev.width;
return FALSE;   
}
//显示的开始坐标点
picinfo.S_YOFF=y;
picinfo.S_XOFF=x;
//文件名传递  
temp=f_typetell((u8*)filename); //得到文件的类型
switch(temp)
{   
case T_BMP:
res=stdbmp_decode(filename); //解码bmp      
break;
case T_JPG:
case T_JPEG:
res=jpg_decode(filename);  //解码JPG/JPEG      
break;
case T_GIF:
res=gif_decode(filename,x,y,width,height); //解码gif     
break;
default:
  res=PIC_FORMAT_ERR;   //非图片格式!!!  
break;
}      
return res;
}
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-18
在线时间
0 小时
 楼主| 发表于 2013-7-17 12:40:57 | 显示全部楼层
回复【12楼】正点原子:
---------------------------------
原子哥,23*26这张小图片显示倒是显示出来了,但是小图片的背景色却变成了黑色,正确的应该就是和大图片的颜色一样都是灰色才对的。。。这是哪里搞错了啊?
只求每天都能把小事做好。
回复 支持 反对

使用道具 举报

7

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-18
在线时间
0 小时
 楼主| 发表于 2013-7-17 17:50:36 | 显示全部楼层
回复【12楼】正点原子:
---------------------------------
void Right_Down_Pic(u8 level)
{
u32 index_1,index_2;
u16 color;
u16 x,y;
unsigned char R,G,B;

SPI_Flash_Read(Image_temp,552*level,552);

for(y=156;y<179;y++)
{
for(x=264;x<288;x++)
{
index_2=Image_temp[index_1];
R=RGB332[3*index_2];
G=RGB332[3*index_2+1];
B=RGB332[3*index_2+2];
color=R>>3;
color=color<<6;
color |=(G>>2);
color=color<<5;
color |=(B>>3);    
//在这里送给LCD显示 
// BACK_COLOR=0x8430;
POINT_COLOR=color;
LCD_DrawPoint(x,y);
index_1++;   



}
}
}








原子哥,这是我改写的24*23的显示小图片的函数。。。。。  显示出来后怎么会有黑色的背景色的?   要是灰色就正确了。。。     头疼。。
只求每天都能把小事做好。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-17 17:56:21 | 显示全部楼层
不知道你的具体要求了.
你搞个仿真器单步调试看看效果吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-18
在线时间
0 小时
 楼主| 发表于 2013-7-17 18:24:46 | 显示全部楼层
回复【15楼】正点原子:
---------------------------------
仿真过了,还是黑色,我是一个坐标一个坐标的看颜色的。。。。还是黑色。。。。    问题要么出在这个函数身上,要么图片本身有问题。。。   这两个问题都是蛋疼的问题。。
只求每天都能把小事做好。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-17 20:14:20 | 显示全部楼层
你图片对应位置是什么颜色?如果是黑色,那么显示黑色就对了.
电脑上打开图片对比看看了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-18
在线时间
0 小时
 楼主| 发表于 2013-7-18 09:38:29 | 显示全部楼层
 回复【17楼】正点原子:
---------------------------------
下面这幅图,是我想要我效果。。







那把红色的锁,把它作为小图片放到显示屏(3.2寸)里去后,本来是灰色的背景色的。。。   放上去显示却变成了黑色。。。无语啊。。




只求每天都能把小事做好。
回复 支持 反对

使用道具 举报

7

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-18
在线时间
0 小时
 楼主| 发表于 2013-7-18 09:49:35 | 显示全部楼层
回复【17楼】正点原子:
---------------------------------
我图片(锁)对应位置是灰色的颜色啊
只求每天都能把小事做好。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-18 10:53:28 | 显示全部楼层
那就不清楚了,慢慢研究下吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

165

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2013-6-18
在线时间
0 小时
 楼主| 发表于 2013-7-18 13:09:08 | 显示全部楼层
回复【20楼】正点原子:
---------------------------------
是啊,我也不明白图片还会有背景色的。。。。
只求每天都能把小事做好。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-18 01:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表