怎么用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语言编写一个猪头的形状相关推荐

  1. 十位数连加 c语言,用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除....

    用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除. 用C语言编写一个简易计算器可实现加减乘除,连加连减,连乖连除. 人气:435 ℃时间:2020-04-10 06:55:13 优质解答 ...

  2. 利用c语言编写一个时钟计时器(c语言基础练习)

    时间对于每个人都是宝贵的.人类从古至今都在发展计时设备和改善计时方法.远古时期,人类根据太阳和月亮的位置来判断时间.根据影子的方向长短来区分早晨.中午和黄昏.古代人也发明了很多计时的方法,日晷.沙漏. ...

  3. linux中用c语言编写一个经纬度转换大地坐标

    在Linux中用C语言编写一个经纬度转换大地坐标的程序,需要用到以下步骤: 包含相关的头文件,例如"math.h". 定义必要的常量和变量. 输入经纬度坐标. 将经纬度转换为弧度. ...

  4. 建立网络链接编程C语言,用C语言编写一个网络蜘蛛来搜索网上出现的电子邮件地址...

    可能大家经常要去互联网上搜索特定的内容,比如收集大量邮件地址,如果用google之类的搜索引擎是没法实现这种特定功能的,所以用C语言来写一个吧.它的功能就是不断去取得网络上的页面,然后分析出网页上出现 ...

  5. [转]用 C 语言编写一个网络蜘蛛

    用 C 语言编写一个网络蜘蛛来搜索网上出现的电子邮件地址 作者:zhoulifa 来源:http://bbs.chinaunix.net/viewthread.php?tid=821361 可能大家经 ...

  6. python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...

    导航:网站首页 > C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值.,C语言 编写一个程序,输入一个正整数,求出它是几位数. C语言编写程序:输入一个正整数x和一个正整数n,求下 ...

  7. 用C语言编写一个Linux下的简单shell程序

    这是一个简单的C程序,展示了如何进行系统调用执行logout cd ls pwd pid rm mkdir mv cp等命令,这是一个简单的命令解释程序shell,其源代码如下: #include & ...

  8. 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)

    使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置 jdk-15.0.1-免配置路径版 提取码:earu 免 ...

  9. C语言编写一个四位数的和,c语言编写一段程序,输入一个四位数,输出各位数字的和...

    用C语言编写程序,输入一个正整数n(1 #include"stdio.h"intmain(){\x09inti,j,n;\x09inta[12];\x09intmin,mx;\x0 ...

最新文章

  1. mysql数据库查询缓存_MySQL查询缓存与数据库管理
  2. 【OpenCV】函数imread的使用之通道数变化
  3. ThinkPHP集成万象优图
  4. qt 从文件中读出数据显示在表格中_QT中有什么控件可以实现向excel的表格显示,qt数据存储到Excel表格...
  5. 对单片机C语言的一些误用和总结
  6. android 调用系统短信接口开发,聚合数据Android SDK 短信api接口验证演示示例
  7. Python 数据科学手册 5.5 朴素贝叶斯分类
  8. 新增国内mysql下载镜像
  9. ionic3编译到Android 相关配置
  10. NotePad++ 调试PHP代码中文显示乱码
  11. 使用YUI3创建Popup弹出层
  12. 人脸识别库Dlib介绍
  13. 总结Learning Efficient Single-stage Pedestrian Detectors by Asymptotic Localization Fitting
  14. 中职计算机应用基础表格制作说课稿,表格制作的说课稿
  15. C语言中EOF是什么意思? linux 【转载】 2020-11-19
  16. 将图像绘制成3维立体散点图
  17. 解决win11/win10在登陆界面(解锁界面)点击获取每日壁纸无效的问题 - get Daily Lockscreen and Wallpaper - Win11/10的登录界面背景图片在哪里?
  18. windows 7正版才是王道
  19. java元编程_一文读懂元编程
  20. 饥荒联机云服务器_WeGame饥荒联机版专用服务器多层世界搭建教程

热门文章

  1. 【Python教程】小白也能看懂的PPT批量转PDF代码
  2. 观《人性的哲学和科学》有感
  3. 细说:用户访问网站流程
  4. Java 集成高德地图(源码复制即用)实现地址转经纬度,经纬度转地址,计算两点间距离
  5. wireshark二次开发
  6. JAVA系列:HashMap源码分析
  7. Oracle(甲骨文软件系统)公司简介
  8. 基于MSP430单片机风光互补控制路灯设计(毕业设计资料)
  9. 成都百知教育:shopee虾皮跨境电商站内引流的5种方式。
  10. 百度关键词排名优化软件【胖虎图图-互动点击系统】