如何在 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 通道。
如何在 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 通道。