将书上对应的代码抄写了一遍。

#include <iostream>
#include <fstream>using namespace std;int main()
{int nx = 200;int ny = 100;ofstream outfile( "mytest.txt", ios_base::out);outfile << "P3\n" << nx << " " << ny << "\n255\n";std::cout << "P3\n" << nx << " " << ny << "\n255\n";for (int j = ny-1; j >= 0; j--){for (int i = 0; i < nx; i++){float r = float(i) / float(nx);float g = float(j) / float(ny);float b = 0.2;int ir = int (255.99*r);int ig = int (255.99*g);int ib = int (255.99*b);outfile << ir << " " << ig << " " << ib << "\n";std::cout << ir << " " << ig << " " << ib << "\n";}}
}

将代码原封不动的输入后,确实能够运行(给作者点个赞)。但是说好的图片呢?原文有这么一句话:Opening the output file (in ToyViewer on my mac, but try it in your favorite viewer and google “ppm viewer” if your viewer doesn’t support it) shows(结果的那张图)。
有两个疑问:
1. “the output file”在哪?
2. “ppm viewer”是什么?
感觉告诉我接下来应该这么做:先将输出结果导入文件(即输出到文件),然后用一个ppm viewer来将这个图片看成图片(但愿如此)。

2.1 将结果输出到文件

如上红色部分的代码就是为了将输出结果导入文件。

#include <fstream>
ofstream outfile( "mytest.txt", ios_base::out);
outfile << "P3\n" << nx << " " << ny << "\n255\n";
outfile << ir << " " << ig << " " << ib << "\n";

简单解释如下:

#include <fstream>
/*iostream是输入输出流库标准文件(注意它没有后缀),它包含cout的信息,这对我们的程序是必需的。#include是预处理器指示符(preprocessor directive),它把iostream的内容读入我们的文本文件中*/
ofstream outfile( ".\\results\\FirstImage.txt", ios_base::out);
/*打开当前目录(工程目录)下results文件夹中的FirstImage.txt文件*/
outfile << "P3\n" << nx << " " << ny << "\n255\n";
/*往文件中写入数据*/

顺便说一下标准输出:

#include <iostream>
using namespace std;
/*这条语句被称作using指示符(using directive)。 C++标准库中的名字都是在一个称作std的名字空间中声明的,这些名字在我们的程序文本文件中是不可见的,除非我们显式地使它们可见。using指示符告诉编译器要使用在名字空间std中声明的名字。*/
std::cout << "P3\n" << nx << " " << ny << "\n255\n";
/*往屏幕上输出数据*/

将结果输出到文件mytest.txt,这个就是“the output file”啦。
(这个文件已经传到“我的资源”中)

2.2 找一个ppm viewer

结缘巧合,找到了XnView。用这个软件看mytest.txt时,看到的是这个:这里贴出一张通过“XnView”将结果的.txt转换成.jpg后的图片:

完整的操作步骤是这样的滴:

问题二:用C++输出第一张图片相关推荐

  1. 问题三:类的头文件和实现文件分别写什么(用向量表示RGB输出“第一张图片”)

    书上接下来是介绍一个表示向量的类(vec3).所以,我要先创建一个新的类vec3.创建该类之后,生成两个文件:vec3.cpp和vec3.h.像之前一样,还是将书上的代码原封不动地抄写下来,如下: # ...

  2. python加载图片并显示_python读取目录下所有的jpg文件,并显示第一张图片的示例...

    python读取目录下所有的jpg文件,并显示第一张图片的示例 如下所示: # -*- coding: UTF-8 -*- import numpy as np import os from scip ...

  3. 帝国CMS调用图集第一张图片的方法

    图片集调用代码: <?php$picr=explode(egetzy('rn'),$navinfor[morepic]);for($p=0;$p<count($picr);$p++){$s ...

  4. c语言二维数组对角线输出字符,用C编程一个4*4的矩阵,用二维数组,求对角线元素的和。,c语言如何使二维数组 输出为矩阵的形式...

    导航:网站首页 > 用C编程一个4*4的矩阵,用二维数组,求对角线元素的和.,c语言如何使二维数组 输出为矩阵的形式 用C编程一个4*4的矩阵,用二维数组,求对角线元素的和.,c语言如何使二维数 ...

  5. 0基础学python第一天:认识python,安装python,输出第一个程序

    目录 目录 目录 一(了解)Python简介: 二.发展历程: 三.Python 特点: 四.Python语言主要应用领域: 1:人工智能 2:云计算 3:Web开发 4:爬虫技术 5:网络游戏开发 ...

  6. c语言代码,输入两个数,输出第一个数到第二个数之间所有的数

    用C语言实现,输入两个数,输出第一个数到第二个数之间包含的所有数 #include <stdio.h> int num(int x, int y); int main() {int a1, ...

  7. 使用神经网络做二分类,输出层需要几个神经元?应该选择哪一种激活函数?如果要处理minst数据、输出层需要几个神经元?使用那种激活函数?如果使用神经网络预测房价,输出层需要几个神经元、使用什么激活函数?

    使用神经网络做二分类,输出层需要几个神经元?应该选择哪一种激活函数?如果要处理minst数据.输出层需要几个神经元?使用那种激活函数?如果使用神经网络预测房价,输出层需要几个神经元.使用什么激活函数? ...

  8. 获取内容第一张图片地址的函数

    C#获取文章类第一张图片的地址的函数(留着以后用),先说一下思路: 首先找到内容里面第一个<img标签的位置,然后找到从这个起的第一个>的位置,得到第一张图片的完整标签. 然后通过分隔空格 ...

  9. ASP保存远程图片到本地 同时取得第一张图片

    这是本人在SNA新闻采集系统 For 动力3.62 里使用的几个函数 可以普遍的使用在采集 或者 在线添加文章中 以下是函数程序代码 <% '========================== ...

最新文章

  1. 【转】mssql中大小写的区分
  2. The 16th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple
  3. 二叉树的前序遍历Python解法
  4. 软件开发文档整理(之)一张示意图 | 清晰明了
  5. 前端面试题——HTML基础篇
  6. comboBox绑定数据库后SelectedIndexChanged事件出错
  7. 使用Prometheus发现在Kubernetes上运行的应用程序
  8. 23种设计模式之简单工厂模式,工厂方法模式,抽象工厂模式详解
  9. Docker学习总结(8)——利用Docker开启持续交付之路
  10. 使用TopShelf做windows服务
  11. 沟通CTBS助华盛集团实现财务集中管理
  12. 计算机编程与数控宏程序实例教程,数控车床编程教程,图文实例详解
  13. 2,一个人体姿态识别的项目实现
  14. python-opencv去除小面积区域/孔洞填充(二值图像)
  15. centos7.6 桌面版本 网卡重启失败 记录
  16. 每天记账,是穷人才会做的事?
  17. 【FPGA】Quartus Prime 20.1 精简版下载安装教程记录
  18. python读docx文件_Python读写docx文件的方法
  19. 如何手动设置文件关联(超详细)
  20. 孔板流量计计算公式_十二种流量计工作原理

热门文章

  1. linux 系统安装mysql (rpm)
  2. 【DP + 卖股票】LeetCode 123. Best Time to Buy and Sell Stock III
  3. TCP连接吞吐率和线路效率的总结
  4. 第三周课程总结&实验报告一
  5. Unity的学习笔记(XLua的初学用法并在lua中使用unity周期函数)
  6. C语言将字符串转json
  7. SES 之全局搜索小记
  8. BZOJ 2337 XOR和路径(概率DP)
  9. TouchSlide - 大话主席
  10. ASP.NET与JS交互