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

How to resize png image with alpha canal in boost::gil

如何在 boost::gil 中使用 alpha 通道调整 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 通道的图像类型。

解决方案是简单地使用 boost::gil::rgba8_image_t,其中包括一个 alpha 通道。