怎么用C语言编写一个猪头的形状
怎么用C语言编写一个猪头的形状
可以将问题修改为如何打印出黑白图案(C语言描述)?而不仅仅是猪头。
简单描述一下解决问题的机制。
首先是找到一张想要转换的图片。(废话)
第二步将其使用MATLAB等软件转换成二进制编码(我们只能考虑是黑白图片,每个1表示黑色。每个0表示白色)。对于彩色图片,转换成黑白后,我们将像素点RGB编码为000的编码为0,其它所有灰阶编码为1。当然实际肯定有更好的办法。
比方说是一个86像素图片。也就是 68/8=6字节。
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
这是全白的情况。将一张汉字“十”的图片表示出来,那么就是:
0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 0
1 1 1 1 1 1 1 1
0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 0
转换后的数字直接按顺序进行储存为二进制文件。假设存储并命名为test.bin。
接下来是一些操作系统的系统调用。我尝试用C来简单描述一下。
FILE *p;
p=fopen(“test.bin”,“rb”);
//打开并对二进制文件只读
if (p==NULL)
exit(EXIT_FAILURE );
//报错并调用exit()后退出程序
…
char a[100];
//用来保存图片数字信息
int n;
//变量n用来存储fread()返回值进行一些判断
n=fread(a,1,6*8/8,p);
现在数组a中有了图片的信息。将数组每8个元素打印一行后换行即可。表示黑色的字符可以用星号“*”。
理解运行机制后,我们可以把图片像素扩大到320*240。当然,我们可以调用fwrite( )对图片进行人为修改。
怎么用C语言编写一个猪头的形状相关推荐
- 十位数连加 c语言,用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除....
用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除. 用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除. 人气:435 ℃时间:2020-04-10 06:55:13 优质解答 ...
- 利用c语言编写一个时钟计时器(c语言基础练习)
时间对于每个人都是宝贵的.人类从古至今都在发展计时设备和改善计时方法.远古时期,人类根据太阳和月亮的位置来判断时间.根据影子的方向长短来区分早晨.中午和黄昏.古代人也发明了很多计时的方法,日晷.沙漏. ...
- linux中用c语言编写一个经纬度转换大地坐标
在Linux中用C语言编写一个经纬度转换大地坐标的程序,需要用到以下步骤: 包含相关的头文件,例如"math.h". 定义必要的常量和变量. 输入经纬度坐标. 将经纬度转换为弧度. ...
- 建立网络链接编程C语言,用C语言编写一个网络蜘蛛来搜索网上出现的电子邮件地址...
可能大家经常要去互联网上搜索特定的内容,比如收集大量邮件地址,如果用google之类的搜索引擎是没法实现这种特定功能的,所以用C语言来写一个吧.它的功能就是不断去取得网络上的页面,然后分析出网页上出现 ...
- [转]用 C 语言编写一个网络蜘蛛
用 C 语言编写一个网络蜘蛛来搜索网上出现的电子邮件地址 作者:zhoulifa 来源:http://bbs.chinaunix.net/viewthread.php?tid=821361 可能大家经 ...
- python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...
导航:网站首页 > C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值.,C语言 编写一个程序,输入一个正整数,求出它是几位数. C语言编写程序:输入一个正整数x和一个正整数n,求下 ...
- 用C语言编写一个Linux下的简单shell程序
这是一个简单的C程序,展示了如何进行系统调用执行logout cd ls pwd pid rm mkdir mv cp等命令,这是一个简单的命令解释程序shell,其源代码如下: #include & ...
- 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)
使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置 jdk-15.0.1-免配置路径版 提取码:earu 免 ...
- C语言编写一个四位数的和,c语言编写一段程序,输入一个四位数,输出各位数字的和...
用C语言编写程序,输入一个正整数n(1 #include"stdio.h"intmain(){\x09inti,j,n;\x09inta[12];\x09intmin,mx;\x0 ...
最新文章
- mysql数据库查询缓存_MySQL查询缓存与数据库管理
- 【OpenCV】函数imread的使用之通道数变化
- ThinkPHP集成万象优图
- qt 从文件中读出数据显示在表格中_QT中有什么控件可以实现向excel的表格显示,qt数据存储到Excel表格...
- 对单片机C语言的一些误用和总结
- android 调用系统短信接口开发,聚合数据Android SDK 短信api接口验证演示示例
- Python 数据科学手册 5.5 朴素贝叶斯分类
- 新增国内mysql下载镜像
- ionic3编译到Android 相关配置
- NotePad++ 调试PHP代码中文显示乱码
- 使用YUI3创建Popup弹出层
- 人脸识别库Dlib介绍
- 总结Learning Efficient Single-stage Pedestrian Detectors by Asymptotic Localization Fitting
- 中职计算机应用基础表格制作说课稿,表格制作的说课稿
- C语言中EOF是什么意思? linux 【转载】 2020-11-19
- 将图像绘制成3维立体散点图
- 解决win11/win10在登陆界面(解锁界面)点击获取每日壁纸无效的问题 - get Daily Lockscreen and Wallpaper - Win11/10的登录界面背景图片在哪里?
- windows 7正版才是王道
- java元编程_一文读懂元编程
- 饥荒联机云服务器_WeGame饥荒联机版专用服务器多层世界搭建教程