linux(虚拟机、Ubuntu):LCD模拟器显示图片

article/2025/11/8 13:42:10

.c文件代码:

#include <stdio.h> //printf scanf
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h> //open read lseek write close
#include <sys/mman.h> //mmapint main(int argc, char **argv)
{int fd_lcd;unsigned int *pfb=NULL;unsigned int x,y;unsigned char bmp_buf[480*800*3];//打开虚拟lcd设备fd_lcd = open("/dev/ubuntu_lcd", O_RDWR);if(fd_lcd < 0){perror("open lcd");return -1;}//进行内存映pfb=(unsigned int *)mmap(NULL, //映射区的开始地址,设置为NULL时表示由系统决定映射区的起始地址800*480*4, //映射区的长度PROT_READ|PROT_WRITE, //内容可以被读取和写入MAP_SHARED, //对共享区的写入,相当于输出到文件fd_lcd, //有效的文件描述符0 //被映射对象内容的起点);if(pfb == NULL){perror("mmap");return -1;}//打开资源图片int fd_bmp = open("./1.bmp", O_RDONLY);if(fd_bmp <= 0){perror("open fial");return -1;}lseek(fd_bmp, 54, SEEK_SET);read(fd_bmp, bmp_buf, 480*800*3);close(fd_bmp);int i = 0;for(y=0; y<480; y++){for(x=0; x<800; x++){*(pfb+(479-y)*800+ x) = (bmp_buf[i]<<0) | (bmp_buf[i+1]<<8) | (bmp_buf[i+2]<<16);i += 3;}}/* 取消内存映射 */munmap(pfb, 800*480*4);/* 关闭LCD设备 */close(fd_lcd);/* 没有错误代表正确返回 */return 0;
}

终端编译:


图片(名称为1.png,配合代码):


http://chatgpt.dhexx.cn/article/edmfWawI.shtml

相关文章

安卓终端模拟器的安装和使用

1. 介绍 安卓终端模拟器是一款免费开源的linux终端模拟器&#xff0c;他可以运行android内置linux命令。而且支持多窗口&#xff0c;使用起来很方便。有了它就可以运行很多安卓系统自带的linux命令了 2. 下载 下载地址 3. 使用 打开后的界面&#xff0c;在这里就可以方便的…

如何用C/C++写一个Linux文件系统模拟器

用C/C写一个Linux文件系统模拟器 1. 程序演示1. 登录--login2. 切换目录--- cd3. 展示文件列表---ls4. 查看物理块使用情况以及物理块存储内容 — df5. cd命令的延伸 &#xff1a;6. 查看当前目录名和父目录名 —— now7. 创建文件—— touch8. 打开文件 —— open9. 查看当前活…

Linux (Ubuntu) 下的Android模拟器:Genymotion

据说这是一款十分好用的Android模拟器&#xff0c;之前没玩过Android模拟器&#xff0c;这就是自己第一次使用。 Downloads&#xff1a;https://www.genymotion.com/ 麻烦的是需要现注册才能下载。有收费版&#xff0c;也有免费版&#xff0c;点击buy genymotion&#xff0c;…

kali linux 连接windows物理主机的安卓模拟器的方法

①不能直连&#xff0c;需要做个端口转发&#xff0c;具体如下: netsh interface portproxy add v4tov4 listenport18888 listenaddress0.0.0.0 connectport62026 connectaddress127.0.0.1 在windows cmd命令行输入这行代码&#xff0c;其中 listenport 18888 表示用来转发的…

安卓的完美Linux模拟器,推荐UserLAnd

UserLAnd 是一个开源应用程序&#xff0c;它允许您运行多个 Linux 发行版&#xff0c;例如 Ubuntu、Debian 和 Kali&#xff08;还是基于chroot的方式运行&#xff09;。 -无需root -使用内置终端访问您最喜欢的 shell。 -轻松连接 VNC 以获得图形体验。 -轻松设置几个常见…

在linux下安装android模拟器

genymotion https://www.genymotion.com/ 下载64位并安装&#xff0c;然而会出现 Unable to load VirtualBox engine. 这样的问题。解决方法也很简单&#xff0c;就是安装一个virtualBox就可以了 sudo apt-get install virtualbox 先安装virtualbox 然后在安装genymot…

linux系统模拟器网络配置步骤

1、打开linux虚拟器&#xff0c;在虚拟机左上角找到虚拟机 2、点击虚拟机&#xff0c;在下方找到设置后点开3、在点开的设置&#xff0c;在设备中找到网络适配器&#xff0c;适配网络选择自定义&#xff0c;并在自定义里选择VMnet0,选择后点击确定。 4、在编辑里打开虚拟网络编…

Linux终端在线模拟器和ps aux命令

进入此网址&#xff1b; https://bellard.org/jslinux/ 出来几个操作系统供选择&#xff0c;选择一个linux进入&#xff1b;这只是终端的模拟器&#xff1b; 等了很长很长时间&#xff0c;出来一个Linux的模拟桌面&#xff1b;然后进入此模拟器的Linux终端&#xff1b; 看一下…

Linux上有哪些好的终端模拟器?

注&#xff1a;本文转载自linux中国的文章&#xff1a;Linux上有哪些好的终端模拟器? &#xff0c;请支持原创&#xff01; 一个好的终端模拟器是一个选择Linux而不是Windows或Mac的充分理由&#xff0c;任何Linux的资深用户都会同意这点。通过使用shell&#xff0c;用户可以完…

ubuntu安装安卓模拟器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、安装virtualbox二、安装genymotion1.下载2.安装3.登录4. 网络设置5. 安卓APP报错 参考链接 前言 最近由于工作原因笔记本安装成Ubuntu系统&#xff0c;而安…

linux-在线模拟器

jslinux:&#xff1a;http://bellard.org/jslinux/ 一个叫Fabrice Bellard的工程师使用 JavaScript 在浏览器上模拟出了一个 Linux 系统。没有图形化界面&#xff0c;完全使用命令行的方式与之互动。Linux操作系统内核版本为2.6.20。具体使用过程中可以参考jslinux:的FAQ&…

Linux下最强安卓模拟器,流畅又丝滑(附详细安装教程)此瓜保熟|Linux游戏党

我打算完全从头开始&#xff0c;写一个专门用于桌面办公的纯国产操作系统 &#xff0c;规避主流操作系统上影响用户体验的问题&#xff0c;系统力求简洁。有兴趣加QQ群&#xff1a;709652950 好东西让更多人发现&#xff01;我找了整整两年&#xff0c;什么Anbox&#xff0c;什…

2023年22个最佳Linux桌面终端模拟器

终端模拟器是Linux操作系统中常用的工具&#xff0c;它提供了一个图形界面来模拟命令行环境。终端模拟器不仅可以执行命令行操作&#xff0c;还具有许多功能和特性&#xff0c;如多标签页、自定义配置、分屏显示等&#xff0c;使得用户可以更加高效地使用命令行界面。在本文中&…

微信小程序 图片转换base64

js // pages/testA/testA.js Page({data: {url:,base64:,},upload: function(){var _this this;//调用上传_this.wx_chooseImage(1, "[compressed]"," [album, camera]",function(images){var url images.tempFilePaths[0];//图片转换 base64_this.wx_g…

微信小程序 背景图片base64_微信小程序图片转base64数据

小程序的开发在现阶段的应用越来越广泛&#xff0c;本文简要介绍如何实现在微信小程序端将获取的图片路径转换成base64数据格式&#xff01; 效果如图&#xff1a; 将图片转换成base64数据格式&#xff0c;目前本人所知的共三种方法&#xff0c;分别为&#xff1a; 1、通过canv…

微信小程序展示base64图片并保存

后台接口 /// <summary> /// 获取二维码 /// </summary> /// <returns></returns> [HttpPost] [Authorize] public async Task<MessageModel<string>> GetUserQRCode() {var result new MessageModel<string>();var url "pa…

uniapp微信小程序保存base64图片的方法

最近在开发点餐系统的找人付款的功能&#xff0c;生成付款二维码&#xff0c;生成后用户可以分享二维码发送给朋友替他付款&#xff0c;但是微信小程序是无法分享图片的&#xff0c;需要把图片保存到相册里面&#xff0c;然后在微信里面分享相册里面的图片就行了&#xff0c;但…

微信小程序选择图片并转base64

一般上传图片给后台更多情况是通过base64的形式&#xff0c;这样占存小&#xff0c;使用时也可以减少了服务器访问次数。微信官方提供的API又不支持上传多个文件&#xff0c;所以如果是上传图片的话&#xff0c;使用base64编码字符串是个不错的办法。 相关API wx.chooseImage…

微信小程序Base64图片不显示(Base64串存在换行问题)

背景 小程序内用wx.request来发请求&#xff0c;后台返回Base64流&#xff0c;前台用<image>标签显示。 简略代码如下&#xff1a; File tfile new File("/Users/sam/Downloads/test.jpg");FileInputStream fileInputStream new FileInputStream(tfile);byte…

微信公众号图片上传_base64图片上传处理

一、微信公众号图片上传_base64图片上传处理 使用到的接口拍照、选择相册接口&#xff1b; 读取本体图片接口 1.拍照或从手机相册中选图接口 wx.chooseImage({count: 1, // 默认9sizeType: [original, compressed], // 可以指定是原图还是压缩图&#xff0c;默认二者都有sou…