-
-
Notifications
You must be signed in to change notification settings - Fork 81
dtl::storage::FileHDR (ストレージクラス)
Kasugaccho edited this page Aug 17, 2019
·
8 revisions
namespace dtl::storage {
template <typename T>
class FileHDR;
}
※ T
は1bit以上の型
FileHDR
とは "HDR形式の画像ファイルを出力する" 機能を持つクラスである。
当機能は <DTL.hpp>
ヘッダには含まれない。
機能名 | 対応 |
---|---|
非長方形Matrix | 不可 |
#include <DTL.hpp>
#include <DTL/ImageWrite.hpp>
#include <cstdint>
#include <array>
int main() {
using shape_t = std::uint_fast8_t;
std::array<std::array<shape_t, 256>, 256> matrix{ {} };
dtl::CellularAutomatonMixIsland<shape_t>(200, 0, 1, 2, 3, 4).draw(matrix);
dtl::storage::FileHDR<shape_t>("file_sample.hdr", 3).write(matrix, [](const shape_t value, float* const color) {
switch (value) {
case 0:
color[0] = 41.0f / 255.0f;
color[1] = 40.0f / 255.0f;
color[2] = 159.0f / 255.0f;
break;
case 1:
color[0] = 101.0f / 255.0f;
color[1] = 163.0f / 255.0f;
color[2] = 56.0f / 255.0f;
break;
case 2:
color[0] = 223.0f / 255.0f;
color[1] = 203.0f / 255.0f;
color[2] = 140.0f / 255.0f;
break;
case 3:
color[0] = 9.0f / 255.0f;
color[1] = 100.0f / 255.0f;
color[2] = 5.0f / 255.0f;
break;
case 4:
color[0] = 164.0f / 255.0f;
color[1] = 143.0f / 255.0f;
color[2] = 50.0f / 255.0f;
break;
}
});
return 0;
}
Copyright (c) 2018-2021 As Project.
Distributed under the Boost Software License, Version 1.0.(See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)