Add conversion from any input file via ImageMagick

This commit is contained in:
2024-01-29 15:54:09 +01:00
parent ef4f87295e
commit 02a5601466
5 changed files with 71 additions and 4 deletions

View File

@@ -3,7 +3,7 @@
#include <netpbm/pam.h>
#include "pixels.hpp"
static void write(std::ostream& os, FILE* in) {
void write_image(std::ostream& os, FILE* in) {
struct pam info;
pnm_readpaminit(in, &info, PAM_STRUCT_SIZE(tuple_type));
std::unique_ptr<tuple, void(*)(void*)> row1 {pnm_allocpamrow(&info), pm_freerow};
@@ -32,10 +32,10 @@ static void write(std::ostream& os, FILE* in) {
}
void write_image(std::ostream& os) {
write(os, stdin);
write_image(os, stdin);
}
void write_image(std::ostream& os, const std::string& path) {
std::unique_ptr<FILE, void(*)(FILE*)> infile {pm_openr(path.c_str()), pm_close};
write(os, infile.get());
write_image(os, infile.get());
}