-
-
Notifications
You must be signed in to change notification settings - Fork 81
dtl::storage::FileJPG (ストレージクラス)
Kasugaccho edited this page May 17, 2019
·
9 revisions
<DTL/Storage/FileJPG.hpp>
namespace dtl::storage {
template <typename T>
class FileJPG;
}
※ T
は1bit以上の型
FileJPG
とは "JPG形式の画像ファイルを出力する" 機能を持つクラスである。
当機能は <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::FileJPG<shape_t>("file_sample.jpg", 3).write(matrix, [](const shape_t value, unsigned char* const color) {
switch (value) {
case 0:
color[0] = 41;
color[1] = 40;
color[2] = 159;
break;
case 1:
color[0] = 101;
color[1] = 163;
color[2] = 56;
break;
case 2:
color[0] = 223;
color[1] = 203;
color[2] = 140;
break;
case 3:
color[0] = 9;
color[1] = 100;
color[2] = 5;
break;
case 4:
color[0] = 164;
color[1] = 143;
color[2] = 50;
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)