【问题标题】:How to make color as alpha (remove a color) in SFML?如何在 SFML 中将颜色设为 alpha(移除颜色)?
【发布时间】:2015-02-03 00:06:34
【问题描述】:

我在精灵中有一个纹理,我想让背景不可见(白色)。

sf::Texture texBohatera;
texBohatera.loadFromFile("bohater.png");

sf::Sprite bohater;
bohater.setTexture(texBohatera);

【问题讨论】:

  • 无法计算。需要更多数据。
  • @RafaelBaptista 我有一个白色背景颜色的 PNG 文件,我想在没有白色背景颜色的 SFML 中显示此图像(仅使用我的播放器图像)

标签: c++ graphics textures sprite sfml


【解决方案1】:

这样的事情应该可以工作。

sf::Image image;
image.LoadFromFile("bohater.png");
image.CreateMaskFromColor(sf::Color::White);

sf::Texture texBohatera;
texBohatera.LoadFromImage(image);

sf::Sprite bohater;
bohater.SetTexture(texture);

(免责声明,我没有测试它,因为我不想安装 SFML)

【讨论】:

    【解决方案2】:

    你可以

    window.clear(sf::Color::White);

    或者找一个程序让你像piskel这样画png文件。

    您可以导入文件并擦除您想要透明的区域。 或绘制自己的精灵。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-03
      • 2021-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      • 2021-11-05
      • 1970-01-01
      相关资源
      最近更新 更多