我想繪制線條/形狀并輸出到一個ppm檔案,但我甚至不知道如何繪制單個像素。我知道如何輸出到一個檔案,并且有一個用于繪制像素的嵌套for回圈方法(在網上找到這個代碼),但我想知道是否有一個更簡單的方法來處理它。
for(auto j = 0u; j < dimy; j)
for (auto i = 0u; i < dimx; i)
ofs << (char) (i % 256) < < (char) (j % 256) << (char) ((i * j) % 256) 。
我正在上一門使用C 的課,但這是我第一次使用這種語言,所以請將你的答案變得簡單易懂一些(如果有幫助的話,我以前用Java編碼過)。另外,請不要列出任何超過C 11的功能。請提前感謝您! :)
uj5u.com熱心網友回復:
我建議你看一下ppm格式。https://en.wikipedia.org/wiki/Netpbm#File_formats
你所做的就是像這樣構造一個字串:
你所做的就是像這樣構造一個字串:
1 0 0 0 1 0 0 0 1
1 1 0 1 1 1 0 0 0
因此,你可以例如使用嵌套陣列和一個嵌套回圈來遍歷它。
這段代碼將生成一個std::ostringstream,其字串代表一個2x4 ppm檔案的后標題部分,除了第2行第3列像素處是紅色外,其他地方都是純黑色。
#include <iostream>
#include <sstream>
[...]
const int length = 2;
const int width = 4;
uint8_t table[length][width][3]{}。
std::ostringstream oss;
table[1][2][0] =255。
for (int i = 0; i < length; i ) {
for (int j = 0; j < width; j ) {
for (int k = 0; k < 3; k ) {
oss << (int)table[i][j][k] << " "/span>;
}
oss << "
";
}
oss << "
"。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/314113.html
標籤:
