精华内容
下载资源
问答
  • 彩色屏幕图片
    千次阅读
    2021-08-10 23:49:15

    话前

    为什么是Arduino

    Arduino是一个编码很简单的单片机,这已经足够了。虽然我使用了Arduino,但没有用Arduino IDE——它的效率太慢了,一个屏幕有160*128=20480个点,每个点需要传输16位数据,则刷新一次屏幕需要传输327680位数据,如果使用纯纯的Arduino,那么刷新一个页面要到后面马月啊!?不过不急,我用可以用到Arduino的祖先,也就是Avr单片机,进行开发。

    Avr单片机是从51发展而来,而演变成一个新的分支,比起51,它少了ACC累加器,却多了很多个寄存器与ALU相连,并且采用了精简指令集,使它的数据表不能放在ROM中。

    虽然本例程是基于AVR单片机写的,因为用了C语言,修改、移植却非常方便,不信的话可以试试。

    含有的功能

    • lcd初始化
    • 填充颜色
    • 画点
    • 画线
    • 画矩形
    • 显示字符(大/小)
    • 显示字符串
    • RGB颜色

    点亮你的LCD吧

    一些必备的工具

    在本次实验开始前,你需要备有以下的一些模块,这些在淘宝很容易买到。

    1. 一块Arduino UNO
    2. 一块1.8寸、128*160的LCD显示屏
    3. 一根下载线

    需要安装的开发环境

    • Arduino IDE
    • Microchip Studio 7

    编译程序

    将程序导入到Microchip Studio后,点击编译,可以产生hex文件,记住hex文件地址,在烧录程序的时候需要使用。

    烧录程序

    与STC不同,AVR上传确实有点麻烦。不过我们用的是Arduino单片机,可以有更简单的办法。
    首先将单片机插入USB口,选好端口,在能上传程序的情况下,点击“文件”-“首选项”,然后在显示详细输出那里给“上传”打上勾。
    Arduino设置
    然后回到主页面上传程序,点击上传按钮能,能看到下面出现了一条指令,将这条指令复制下来,在最后面填hex文件地址的位置换成我们编译产生的hex文件地址,然后在cmd窗口输入这条指令,按下回车即可完成上传。
    Arduino输出

    实验成果

    在本驱动库中,我写了几个例程,分别是显示时钟,测试颜色以及测试字符等,大家可以按需使用。

    修改其中的代码还可以实现自己想要的效果,就靠大家自己摸索啦。
    实验成果

    下载

    如果大家需要的话可以到gitee中下载,如果不会用的话也可以在本站下载。

    说明

    显示速度

    我对其中的一些显示函数进行了改进,并写了一些自己的显示函数。相同条件下,Arduino IDE编译出来的程序刷新需要6秒,而AVR只需要一秒,足足快了5倍。

    图片显示

    由于AVR单片机不允许将图片保存到ROM中,必须载入到RAM中,会导致空间极大地浪费,所以本程序实际上是存在显示图片的函数,但被我注释掉了。刚兴趣的同学可以试着优化图片数组的存储空间,或者将其移植到C51上。

    参考资料

    lcdwiki

    更多相关内容
  • 彩色 单片机图片取模工具 图片取模

    热门讨论 2012-12-07 10:45:57
    找了好多才找到的可以用的 彩色图片取模工具 开发项目的时候用的
  • 本方案采用Actel的FPGA实现对彩色LED屏的控制,对于系统的可靠性大大增强,而且低成本的单芯片大大减轻了系统的成本。
  • STM32最好用的TFT彩色图像转换工具,可用于将彩色图像转化为MCU可以识别的二进制文件,非常好用。
  • 代码通过驱动stm32f103zet6的lcd屏幕来显示flash里面的图片
  • 根据VGA接口的原理,通过FPGA对VGA进行控制,实现任一彩色图像的显示.通过采用FPGA设计VGA接口可以将要显示的数据直接送到液晶显示器,节省了计算机的处理过程,加快了数据的处理速度,节约了硬件成本.
  • 正点原子i.mx6ull 4.3寸RGB屏显示彩色图片

    编者注:阅读之前需要完成屏幕指定位置画点操作,屏幕画点本文不展开。

    软件:Image2Lcd 2.9       vscode

    硬件:正点原子阿尔法开发板(i.mx6ull),原子哥看到请联系我,打钱,广告费。。

    系统:Ubuntu      Windows

    需求:开发板RGB屏幕显示彩色图片

    前提:屏幕指定位置画点

    描述:通过图片取模软件Image2Lcd 2.9对图片进行取模,得到一维十六进制数组,通过指定区域的各个像素点进行描点操作,从而显示图片。

    图片取模步骤:

    Windows中,使用”画图“打开某张任意格式的图片,点击重新调整大小。

     根据屏幕分辨率选择合适的大小(这里的选择相对来讲不是太重要),我的RGB屏幕分辨率800*480

     选择另存为bmp格式的图像。

     图片取模软件Image2Lcd 2.9打开该图片。具体设置图中有详细描述,必须注意输出图像的分辨率(输出图像的分辨率就是后面嵌套for循环描点的两个边界),因为输出图像的分辨率与显示密切相关。

    参数设置好之后,点击保存,生成图片的一维数组表示。一定要注意:对于RGB屏幕来说选用的是RGB888格式,而取模软件得到的是BGR格式,在获取像素点的时候应该格外注意,交换RG两个元素的位置。

     代码撰写:

    将上面获得的temp.c文件传输到Ubuntu中,在VSCode中新建一个picture.h头文件,将temp.c中的数组复制到picture.h中。

     在描点函数的LCD接口.c文件中定义一个函数,lcd_show_picture(..),并在相应的头文件中声明。

    //图片显示RGB888
    //x:欲显示图片左上角的位置
    //y:欲显示图片左上角的位置
    //x_width:欲显示图片的分辨率(水平宽度)
    //y_length:欲显示图片的分辨率(垂直长度)
    unsigned char lcd_show_picture(unsigned short x, unsigned short y, unsigned short x_width, unsigned y_length, unsigned char *pic)
    {
    	if(x < 0 || x > 800 || y < 0 || y > 480)return ERROR;//判断图片左上脚位置是否合法
    	
    	int pix_num = 0;//存放当前已绘制像素点个数
    	short int i, j = 0;//行列临时变量
    	for(i = 0; i<y_length; i++)//对某一行
    	{
    		for(j = 0; j< x_width; j++)//图片取模数组中三个十六进制表示一个像素点
    		{
    			//这里对R和B进行交换
    			//即对一个像素点的三个元素 第一个和第三个进行交换 高位在前 直接交换即可
    			//逐行显示 y固定 x累加
    			//pic[pix_num*3]<<0 		B
    			//pic[pix_num*3 + 1]<<8     G
    			// pic[pix_num*3 + 2]<<16 	R
    			lcd_drawpoint(x+j, y+i, pic[pix_num*3]<<0 | pic[pix_num*3 + 1]<<8 | pic[pix_num*3 + 2]<<16);
    			pix_num++;
    		}
    	}
    	return OK;
    }
    

    main.c文件中添加相应的头文件,并调用绘图函数进行绘图。从x=80,y=15开始显示,图片的分辨率为635*450,也就是图片取模软件输出图像的分辨率

    lcd_show_picture(80, 15, 635, 450, miaomiao);

    效果图:

    可以看到,由于我的屏幕分辨率为800*480,显示的图片分辨率为635*450,所以有些地方留白。

    完成!

    展开全文
  • scr屏幕保护程序.rar

    2021-10-13 13:17:51
    +多线条(彩色随机变化,无设置).scr +飞越星空.scr +肥皂泡泡(无设置).scr +三维飞行物(3Dwindows徽标).scr +三维管道(OpenGL).scr +三维花盒.scr +三维迷宫(OpenGL).scr +璇彩泡泡.scr +Matrix(矩阵世界3D屏保).scr...
  • 本论文依据VGA接口原理采用了Verilog HDL语言对Altera的Cyclone系列的FPGA进行了设计,通过MATLAB二值化得到图片颜色的...此方案可以广泛应用于各种仪器,数字视频系统、高分辨率的彩色图片图像处理、视频信号再现等。
  • 【玩转嵌入式屏幕显示】(五)TFT-LCD屏幕显示图片

    万次阅读 多人点赞 2019-11-23 22:09:16
    1. 使用取模软件对图片取模 取模软件使用Img2LCD,附上下载链接。 首先准备一张用于显示的图片,修改图片像素值为240*240: 在取模软件中打开图片: 2. 编写图片显示函数 /** * @brief 显示图片函数 * @param...

    1. 使用取模软件对图片取模

    取模软件使用Img2LCD,附上下载链接

    首先准备一张用于显示的图片,修改图片像素值为240*240

    在取模软件中打开图片:


    2. 编写图片显示函数

    /**
     * @brief		显示图片函数
     * @param   x,y		起点坐标
     * @param   width	图片宽度
     * @param   height	图片高度
     * @param   p —— 图片缓存数据起始地址
     * @note		Image2Lcd取模方式:C语言数据/水平扫描/16位真彩色(RGB565)/高位在前		其他的不要选
     * @return  none
     */
    void LCD_Show_Image(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint8_t *p)
    {
    		uint32_t img_size = width * height * 2;		//图片所占字节数
    		uint32_t remain_size = img_size;									//图片每次发送后剩余的字节数
    		uint8_t i = 0;
    	
    		/* 错误检测 */
        if(x + width > LCD_Width || y + height > LCD_Height)
        {
            return;
        }
    				
        LCD_Address_Set(x, y, x + width - 1, y + height - 1);
    
        LCD_WR_RS(1);
    
    		/* SPI每次最大发送2^16 = 65536个数据,图片最大大小为240*240*2 = 115200,会超过此大小,所以设计循环发送算法 */
    		for(i = 0;i <= img_size / 65536; i++)
    		{
    			if(remain_size / 65536 >= 1)
    			{
    				LCD_SPI_Send((uint8_t *)p, 65535);
    				p += 65535;
    				remain_size -= 65535;
    			}
    			else
    			{
    				LCD_SPI_Send((uint8_t *)p, remain_size % 65535);
    			}		
    		}  
    }
    

    测试代码:

    int main(void)
    {
     	HAL_Init();
    	LCD_Init();
    	LCD_Show_Image(0,0,240,240,gImage_bear);
    	LCD_ShowCharStr(70,240-24,140,"Starting...",WHITE,BLUE,24);
    	
    	while (1);
    }
    

    测试结果如下:

    展开全文
  • 做成图片咯。然后你可能会遇到这几个问题:不同屏幕下的适配,要是只做一种尺寸的图,放大或缩小后的效果都不太好。直接做成 SVG?好像不能复制到 Word 里面加粗啊,也就是说,这种做法使得这些“文字”本身失去了...
  • 这是一张彩色艺术设计PPT模板... PPT模板在淡灰色的背景上设计了纯色的涂鸦,时尚个性,前面电脑屏幕上的卡通涂鸦,使PPT模板图片具有浓厚的现代气息,图片适合用来制作艺术设计类的PowerPoint,或者时尚杂志的PowerPoi
  • 不知不觉关于屏幕技术解析类文章的连载已经临近尾声,我们还有排列方式和液晶迁移方式两个大板块没有和各位读者介绍。和介绍显示层结构时候分开OLED和LCD两篇文章做法类似,关于OLED次像素和LCD液晶分子排列方式的...
  • _1.44寸TFT液晶屏(屏幕驱动ST7735)
  • 24位真彩色图片取摸方法(用于WS2812显示)

    千次阅读 热门讨论 2020-04-05 15:06:42
    24位真彩色图片取摸方法PS创建文件填充保存取摸效果 PS创建文件 我的屏幕为16X16的RGB彩灯,故创建16X16像素的图像. 填充 为每个像素格子填充不同的颜色用于显示,颜色越深,RGB灯的亮度越亮. 显示图案 显示文字 ...

    24位真彩色图片取摸方法

    PS创建文件

    我的屏幕为16X16的RGB彩灯,故创建16X16像素的图像.
    在这里插入图片描述

    填充

    为每个像素格子填充不同的颜色用于显示,颜色越深,RGB灯的亮度越亮.

    • 显示图案
      在这里插入图片描述
    • 显示文字
      在这里插入图片描述

    保存

    • 保存成24位(RGB分别为8位)BMP格式,若创建的时候不是8位则可能无法保存成BMP格式.
      在这里插入图片描述

    取摸

    • 根据RGB屏幕设置最大宽度和最大高度(与PS创建的图像像素大小相同).
    • 设置为24位真彩色输出.
    • 设置RGB的颜色数据排列(这里使用RGB排列,默认为BGR).
    • 最后保存输出即可.
      在这里插入图片描述
      在这里插入图片描述

    效果

    链接: 传送门.

    展开全文
  • C++ 设置透明背景图片

    2020-09-03 14:27:19
    主要介绍了C++ 设置透明背景图片的相关资料,需要的朋友可以参考下
  • 该应用程序可以自动根据您的屏幕进行调整。 可定制的主题 可以在设置菜单F4找到深色主题和浅色主题之间的选择,以及12种强调色。 配置用户界面 通过按Alt + Z可以将界面切换为仅显示图像。 悬停按钮和彩色窗口...
  • 一直以来,三星AMOLED屏幕凭借着出色的显示效果以及鲜艳的色彩表现吸引了众人的眼球,然而屏幕颗粒感严重是该屏幕的一个致命伤。直到三星I9100的推出,其搭载的SuperAMOLEDPlus屏幕,采用了全新的像素排列方式,才从...
  • 图像处理——去除拍摄电子屏幕时产生的彩色波纹1.中值滤波1.将所求像素点周围的8个像素点以及本身存于一个数组中,再分别建立三个数组,分别是numR[9],numG[9],numB[9]。用于分别存储前九个像素点的R,G,B值,再...
  • 《Arduino》开发 之 TFT_eSPI 库 显示一张彩色图片

    万次阅读 多人点赞 2020-03-23 15:54:45
    用TFT_eSPI-master 库 显示一张彩色图片,用1.14寸IPS屏幕显示图片
  • 摘要:文章通过对当前国内外LED 屏幕广告牌的发展现状的调查了解得知,LED 的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性以及可靠性、全色化方向发展,并从LED 屏幕广告...
  • 本项目已经支持彩色模式 抖音上炫代码的不少,有些真的让人叹为观止,作为一个androider,当我看到下面这段舞蹈的时候,终于忍不住了,想要通过android实现一样的效果。 这么好玩的东西,为啥就没有大佬做呢,原因...
  • 彩色图片转换为灰度图片mfc实现

    热门讨论 2008-10-06 15:22:35
    通过mfc读入bmp图片,然后转化为灰度图片。并进行与原图片对比,也与知识灰度图片对比效果
  • 图片是由像素点组成的,每个像素点的颜色是由三原色组成,所谓三原色就是红色、绿色、蓝色。它们通过“叠加”得到新的颜色,举个例子看下图。 通过图片演示可以看到当多个颜色重叠一起时,会得到一个新的颜色,比如...
  • 可以看到,风格基本都是以两种颜色为主相间拼接,至于长度则完全由屏幕宽度来决定,因此如果想要通过设计成图片素材来作为ImageView的背景的方式实现的话,效果并不理想,因为图片的宽度完全无法确定。所以本文通过...
  • 除了在控制块中的逻辑屏幕描述块(Logical Screen Descriptor)和全局彩色表(Global Color Table)的作用范围是整个数据流(Data Stream)之外, 所有其他控制块仅跟在它们后面的图形描绘块。 3、GIF结构详解 由于GIF结构...
  • {%包括video.html url =“ ” poster =“ assets / favimage-840x472.jpg” topcaption =“ [点击下面的图片开始播放视频]” botcaption =“ [旨在在黑暗的环境中在大屏幕上查看]”%} 盖亚2 彩色粒子模拟器和混沌...
  • 目前智能手机的屏幕品种繁多,分类混乱,商家在宣传的时候也都没有明确的标注,导致很多网友对于手机的屏幕材质分辨不清,甚至把一些屏幕显示技术都归结到了屏幕材质中去,在选购手机的时候也造成了麻烦。
  • 当我们把文字图片放大到一定程度后,我们可以明显的发现这个字居然不是纯黑色的,而是除黑色外还有很多彩色的像素方块组成的。如下图所示,我放大了五个m字母的图片的样子: 为什么会这样子呢?其实是微软的...
  • 彩色连珠设计报告

    2014-09-01 08:53:20
    详细介绍了C#彩色连珠这款游戏的制作报告。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,829
精华内容 6,331
关键字:

彩色屏幕图片