为了方便生成准确的mif数据,以实现特定的透明效果。使用Photoshop将网上下载的Logo修改颜色,保存大小为120*120像素,如图1所示。

图1 ps修改后的Logo

使用Pic2mif软件,将图像转换为彩色(8色)mif文件,得到的是3位位宽,深度为14400的mif数据。以此定制ROM,并将Logo显示到屏幕右上角,显示结果如图2示。

图2 透明背景的Logo显示

相关主要代码如图3示。当扫描到原图像背景为红色的区域时,ROM输出的数据q为“100”。此时让该像素颜色等于背景色,即完成了图像的“浮空显示”(相当于红色区域透明)。另外附上真正的透明度显示计算式,其中透明度a的值在0到1之间取值。

透明后的像素值 = 原像素值*透明度a+背景像素值*(1-透明度a)

/*logo_rom--彩色-3位*/
// localparam
// BMP_W = 11'd120, //显示区域宽度 = 图片宽
// BMP_H = 11'd120; //显示区域高度 = 图片高
//
// wire pic_area = (hcount>680) && (vcount<120);//行-场
// reg [13:0] pic_addr;
// wire [2:0] q;
// logo_rom logo_rom(
// .address(pic_addr),
// .clock(clk),
// .q(q)
// );
// always@(posedge clk or negedge rst_n)
// if(!rst_n) begin
// disp_data <= 16'd0;
// pic_addr <= 17'd0;
// end
// else
// begin
// //display
// if(pic_area == 1'b1) begin
// pic_addr <= hcount-680 + vcount*BMP_W;
// case(q)
// 8'b000: disp_data=R2_C1;
// 8'b001: disp_data=R1_C1;
// 8'b010: disp_data=R1_C0;
// 8'b011: disp_data=YELLOW;
// 8'b1x0: disp_data=WHITE;
// 8'b101: disp_data=WHITE;
// 8'b111: disp_data=R0_C0;
// default: disp_data <= WHITE;
// endcase
// end
// else
// disp_data <= WHITE;
// end
/*logo_rom-end*/

使用时,去掉 “//” 的注释即可。

LOGO的浮空显示-Verilog的更多相关文章

  1. 修ecshop品牌筛选以LOGO图片形式显示

    如何实现商品列表页属性筛选区品牌筛选以LOGO形式展示,最模板总结ecshop/'>ecshop教程入下: 1.修改 category.php 文件,将(大概215行) $sql = " ...

  2. discuz论坛替换logo之后不显示该怎么办

    http://www.wocaoseo.com/thread-2-1-1.html 这个虽然不算是seo的问题,但是在平时的操作之中经常性的遇到,常常是我用FTP已经上传替换了原来的logo,但是前台 ...

  3. dede其他栏目页的logo没有完整显示怎么办?

    在首页完全没有问题,可是点击关于我们.联系我们.加入我们的时候logo图标是缺失的,这时候怎么办? 其实这个是css样式的问题,只要找到相对应页面的css,改一下他们的宽就可以了,如果高不够就自己调整 ...

  4. 解决页面引用百度地图API设置点的logo不显示问题

    在写css时需要引用一个百度的api地图,却发现设置点的logo图片不能显示,后查阅百度测试发现是图片路径的问题: 在引用的下载的html页面找到 var icon = new BMap.Icon 将 ...

  5. 东芝开发板驱动OLED模块显示LOGO图片

    前言 在之前的两篇评测文章: 使用系统定时器SysTick实现精确延时微秒和毫秒函数 东芝MCU实现位带操作 介绍了系统SysTick实现精确延时,GPIO的输入输出使用,并实现了位带方式操作GPIO ...

  6. Linux内核启动logo

    之前在分析samsung的fb驱动代码的时候,其中有一段代码是处理内核logo显示相关的,今天就内核logo这个话题来聊一聊! 一.处理内核logo显示相关的代码在哪? 回到samsung的fb驱动代 ...

  7. Android kernel LOGO的更换方法

    [从制作logo到LCD显示或者VGA显示logo] 1.制作logo的方法: 首先选择一个自己喜欢的图片,然后通过GIMP软件将该图片保存为.png格式, 变换方式这个就不说了(very easy) ...

  8. Django模板继承后出现logo图片无法加载的问题

    父文件:index.html <!DOCTYPE html> <html lang="en"> <head> <title>{% b ...

  9. u-boot下载模式LCD显示图片修改方法(基于TQ2440)

    1.明确液晶型号,这点非常重要,我手头的液晶是天嵌4.3寸屏,让人很郁闷的是液晶背面竟然写着LCD 3.5,这一点让我在上面浪费了好几个小时: 2.根据液晶型号,修改u-boot1.1.6--> ...

随机推荐

  1. golang中包的初始化

    1.当一个go源程序被初始化时,首先去初始化所依赖的其他包,然后初始化该go源码文件的全局变量的初始化和执行初始化函数,其中该包所有的全局变量初始化在前,该包的初始化函数int在后.当所有包的初始化函 ...

  2. vscode中编译输出c++是乱码

    vscode中编译输出c++是乱码的解决 环境说明:windows下面运行vscode win + R 右键属性 查看当前编码状态 知道当前环境的编码格式后,可以改变vscode上c++的格式 点击v ...

  3. txt改后缀弹窗表白

    one. 打开新建的文本文件,输入字符:msgbox("此处可替换成你想要出现的文字"),括号和引号是英文状态下的标点.(可根据自己的需要输入多行) two. 保存新建的文本文件, ...

  4. pl/sql基础知识—触发器

    n  触发器简单介绍 触发器是指隐含执行的存储过程,它不是由程序员或者是DBA来显式调用,而是因为某个操作引发执行的.当定义触发器时,必须要指定触法的事件和触发的操作,常用的触发事件包括insert, ...

  5. QT UI 线程为什么卡死?

    我的工程是由三个线程处理不同任务构成的,其中UI用于显示,还有数据处理和数据接收发送线程. 在运行的过程中发现由于数据处理线程不及时,超过了设定的100ms,导致UI卡死,几个周期后又恢复,接着又卡死 ...

  6. js单选按钮的默认值

    function SelectWindow(str) { initradio('PhysiotherapyOptionsTable.Sex',sex);       } function initra ...

  7. thinkphp常用的一些函数

    $this->display ( "Public:login" ); import ( 'Wechat', APP_PATH . 'Common/Wechat', '.cla ...

  8. Python学习之路8☞迭代器协议和生成器

    一 什么是迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代 (只能往后走不能往前退) 2.可迭代 ...

  9. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十六章:实例化和截头锥体裁切

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十六章:实例化和截头锥体裁切 代码工程地址: https://git ...

  10. UITextField 自定义clearButton背景色

    一个鸡贼的解决方案,适用于自定义clearButton的样式,直接修改背景图即可 1. 实现基于UITextField的category并添加如下方法及声明 - (void)setLightStyle ...