小编sim*_*amt的帖子

读取透明图像 boost.gil C++

我有一个具有透明背景的图像,我想将其复制到另一个图像上,这两个图像都是 png 格式,我尝试使用 boost::gil::rgba8_image_t 但它仍然复制具有灰色背景的透明图像。这就是我用过的

#include <boost/gil.hpp>
#include <boost/gil/extension/io/png.hpp>
#include <boost/gil/extension/numeric/resample.hpp>
#include <boost/gil/extension/numeric/sampler.hpp>
#include <string>

namespace bg = boost::gil;

int main() {
    std::string target{"./jail.png"};
    std::string picture("./example_in.png");
    bg::rgba8_image_t jail;
    bg::rgba8_image_t temp;
    bg::read_and_convert_image(target, jail, bg::png_tag{});
    bg::rgba8_image_t pic(jail.dimensions());
    bg::read_and_convert_image(picture, temp, bg::png_tag{});
    bg::resize_view(bg::view(temp), bg::view(pic), bg::bilinear_sampler{});
    bg::copy_pixels(bg::view(jail), bg::view(pic));
    bg::write_view("out.png", bg::view(pic), bg::png_tag{});
}
Run Code Online (Sandbox Code Playgroud)

c++ boost boost-gil

3
推荐指数
1
解决办法
360
查看次数

在打印上应用函子

我一直在尝试分别打印 2 个值,并尝试了以下代码:

import System.Directory
main = getCurrentDirectory >>= \x -> (print <$> doesFileExist x) >> (print <$> doesDirectoryExist x)
Run Code Online (Sandbox Code Playgroud)

但它不打印任何内容,但以下代码工作正常:

import System.Directory
main = getCurrentDirectory >>= \x -> doesFileExist x >>= print >> doesDirectoryExist x >>= print
Run Code Online (Sandbox Code Playgroud)

为什么第一个代码不打印任何内容的任何原因?

haskell functor

3
推荐指数
1
解决办法
83
查看次数

标签 统计

boost ×1

boost-gil ×1

c++ ×1

functor ×1

haskell ×1