如何在SFML中将颜色设置为alpha(删除颜色)?

时间:2014-12-04 22:29:13

标签: c++ graphics textures sprite sfml

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

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

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

2 个答案:

答案 0 :(得分:4)

这样的事情应该有效。

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)

答案 1 :(得分:1)

你可以

=INDEX(Building!$A:$A,IFERROR(MATCH(D14, Building!$D:$D, 0),IFERROR(MATCH(D14, Building!$E:$E, 0),IFERROR(MATCH(D14, Building!$F:$F, 0), "nowhere"))))

或找一个允许你绘制像piskel这样的png文件的程序。

您可以导入文件并删除您想要透明的区域。  或者画自己的精灵。