c++ - 如何在 boost::gil 中使用 alpha channel 调整 png 图像的大小

标签 c++ boost png image-resizing boost-gil

如何在 boost::gil 中使用 alpha channel 调整 png 图像的大小?

boost::gil::rgb8_image_t image;
boost::gil::rgb8_image_t newSize(640, 480);
boost::gil::png_read_and_convert_image("input.png",image);
boost::gil::resize_view(const_view(image), view(newSize), boost::gil::bilinear_sampler());
boost::gil::png_write_view("output.png",const_view(newSize));

最佳答案

您的问题不在于调整大小,而在于首先加载原始 PNG,因为 boost::gil::rgb8_image_t 是一种没有 alpha channel 的图像类型。

解决方案是简单地使用 boost::gil::rgba8_image_t,它包括一个 alpha channel 。

关于c++ - 如何在 boost::gil 中使用 alpha channel 调整 png 图像的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33768019/

相关文章:

ffmpeg - PHP imagick 相当于 -define png :color-type=6

c++ - OpenGL 代码不会显示任何内容

c++ - 函数模板无法编译

r - 从 Shiny 保存 ggplot 会给出空白 png 文件

c++ - 需要多少线程才能使它们成为一个糟糕的选择?

c++ - boost::算法::包含

iphone - 如何跳过压缩一张 PNG?

c++ - 我应该使用引用吗?

c++ - 如何将cv::Mat转换为dlib::array2d <uint16_t>和typedef unsigned short int uint16_t

c++ - Hinnant 的堆栈分配器与 boost rtrees : compilation failure