搜索
bottom↓
回复: 23

请问有大侠做过在tft上的透明显示算法吗,有做过的请给个思路,谢谢!!!!

[复制链接]

出0入0汤圆

发表于 2011-11-23 18:00:16 | 显示全部楼层 |阅读模式
rt,谢谢!!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-11-23 18:10:06 | 显示全部楼层
阿尔法混合 搜本坛刘伟的大作

出0入0汤圆

发表于 2011-11-23 18:18:24 | 显示全部楼层
值1(rgb)*50%+值2(rgb)*50%
猜的……

出0入0汤圆

 楼主| 发表于 2011-11-23 20:34:26 | 显示全部楼层
回复【1楼】chinaye1 程序猿
阿尔法混合 搜本坛刘伟的大作
-----------------------------------------------------------------------

搜到了,谢谢。

刘伟大侠好多的帖子都不是第一次关注了,而他的代码还不知能否看懂!!

出0入0汤圆

 楼主| 发表于 2011-11-23 20:35:31 | 显示全部楼层
回复【2楼】hemjidn 捱多年
值1(rgb)*50%+值2(rgb)*50%
猜的……
-----------------------------------------------------------------------

我试试,谢谢!!!

出0入0汤圆

发表于 2011-11-23 20:40:48 | 显示全部楼层
楼主我是来看你的小JJ!不错厉害!

出0入0汤圆

 楼主| 发表于 2011-11-23 20:57:25 | 显示全部楼层
回复【5楼】shanyan
楼主我是来看你的小jj!不错厉害!
-----------------------------------------------------------------------

出0入0汤圆

发表于 2011-11-23 21:35:45 | 显示全部楼层
我也打算研究下,就是一直没时间,呵呵~~

出0入0汤圆

 楼主| 发表于 2011-11-24 09:56:46 | 显示全部楼层
回复【7楼】milestone2010
我也打算研究下,就是一直没时间,呵呵~~
-----------------------------------------------------------------------

小弟我昨晚实现了,待会儿上传代码,请不要拍砖!!

出0入0汤圆

 楼主| 发表于 2011-11-24 10:03:48 | 显示全部楼层
先上效果图:


(原文件名:fsjs.jpg)

代码:点击此处下载 ourdev_698491YUND82.rar(文件大小:978字节) (原文件名:AlphaMix.rar)
望勿拍砖

这是参照刘伟大侠的大作的,原帖的地址:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3928794&bbs_page_no=1&search_mode=3&search_text=liuweiele&bbs_id=9999

出0入0汤圆

 楼主| 发表于 2011-11-24 10:05:54 | 显示全部楼层
觉得这个用来做菜单的选择条还是相当不错的!!

出0入0汤圆

发表于 2011-11-24 10:30:57 | 显示全部楼层
mark~

出0入0汤圆

发表于 2011-11-24 22:45:28 | 显示全部楼层
回复【楼主位】danielmi  俊俊
-----------------------------------------------------------------------
嗯,谢谢楼主的程序,我的也移植好了。

(原文件名:QQ截图20111124224258.gif)

但是我的有个问题:

/****************************************************************************
*函数名:LCD_HyalinizeDemo
*功能  : 透明度演示程序,液晶里面的一个区域与fr_c颜色混合
*输入  :新fr_c叠加上去的颜色值,xstart,ystar,xend,yend液晶上的一个区域,alpha 透明度
*创建时间:2011.11.23
*修改记录:
*创建人:danilemi
*说明  :
*****************************************************************************/
void LCD_HyalinizeDemo(u16 fr_c,u16 xstart,u16 ystart,u16 xend,u16 yend,u8 alpha)
{
        u16 i = 0,j = 0;
        u16 color = 0;
        u16 ExtSRAM_data_buffer[10][148];                 //为啥数组成员不能多过1480个,到1490就不显示了
        for(i = 0;i < yend - ystart;i ++)
        {       

                for(j = 0;j < xend - xstart;j ++)
                {               
                        ExtSRAM_data_buffer[j]=GetPoint(j,i);
                                               
                }
        }

        LCD_SetCursor(xstart,i + ystart);
        LCD_WriteRAM_Prepare();
        for(i = 0;i < yend - ystart;i ++)
        {       

                for(j = 0;j < xend - xstart;j ++)
                {               

                        color = AlphaBlend(fr_c,ExtSRAM_data_buffer[i + ystart][j + xstart],alpha);                       
                        LCD_SetPoint(j,i,color);                               
                }
        }
}
u16 ExtSRAM_data_buffer[10][148];                 //为啥数组成员不能多过1480个,到1490就不显示了
也就是透明显示的只有上面的图片里显示的那么大

出0入0汤圆

发表于 2011-11-25 18:04:03 | 显示全部楼层
回复【12楼】binaimei2007  兵仔
-----------------------------------------------------------------------
求路过的个位大侠给个提示。。。

出0入0汤圆

发表于 2011-11-25 20:04:23 | 显示全部楼层
回复【13楼】binaimei2007 兵仔
-----------------------------------------------------------------------

栈空间溢出了吧

出0入0汤圆

发表于 2011-11-26 20:29:03 | 显示全部楼层
很容易,最好有大的ram.下面是我以前的图

(原文件名:screen5.gif)

出0入0汤圆

发表于 2011-11-26 21:42:20 | 显示全部楼层
回复【15楼】leonliu_1128  
-----------------------------------------------------------------------
你的界面很漂亮!
嗯,经过简单的修改,我的也可以实现,就是速度有点慢。。。。

(原文件名:QQ截图20111126213818.jpg)
void LCD_HyalinizeDemo(u16 fr_c,u16 xstart,u16 ystart,u16 xend,u16 yend,u8 alpha)
{
        u16 i = 0,j = 0;
        u16 color = 0;
        u16 ExtSRAM_data_buffer[1][1];                 


        LCD_SetDisplayWindow(xstart,ystart,xend-xstart,yend-ystart);
        LCD_WriteRAM_Prepare();
        for(i = ystart;i < yend - ystart;i ++)
        {       

                for(j = xstart;j < xend - xstart;j ++)
                {               
                        ExtSRAM_data_buffer[1][1]=GetPoint(i,j);
                        color = AlphaBlend(fr_c,ExtSRAM_data_buffer[1][1],alpha);                       
                //LCD_SetPoint(i,j,color);               
                   LCD_WriteRAM(color);               
                }
        }
}

出0入0汤圆

 楼主| 发表于 2011-11-26 21:43:47 | 显示全部楼层
回复【13楼】binaimei2007 兵仔
-----------------------------------------------------------------------

会不会是如楼上两位所说的呢??

或者不要用ExtSRAM_data_buffer【】【】来缓存了,直接color = AlphaBlend(fr_c,GetPoint(j,i),alpha); 试下!!

出0入0汤圆

 楼主| 发表于 2011-11-26 21:49:06 | 显示全部楼层
回复【16楼】binaimei2007 兵仔
-----------------------------------------------------------------------

晕,打完那两个字你都已经解决了,像你之前那样也就没有必要用一个数组来缓存了!!

出0入0汤圆

 楼主| 发表于 2011-11-26 21:52:16 | 显示全部楼层
回复【15楼】leonliu_1128
-----------------------------------------------------------------------

回复【16楼】binaimei2007 兵仔
-----------------------------------------------------------------------

抛砖引玉,引来的都是大牛!!

出0入0汤圆

发表于 2011-11-26 23:35:12 | 显示全部楼层
不错

出15入9汤圆

发表于 2011-11-26 23:42:07 | 显示全部楼层
顶了

出0入0汤圆

发表于 2011-11-27 20:35:53 | 显示全部楼层
学习

出0入0汤圆

发表于 2013-4-12 20:17:20 | 显示全部楼层
果断顶。好帖!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 03:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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