2014-09-05 70 views
0

我想看看质地大于0像素(检查它是否显示)是这样的:SFML 2.1纹理

if(image.getSize()>0) 

图片纹理。
我得到一个错误说这个:

error: no match for 'operator>' in 'image.sf::Texture::getSize() > 0'

是什么意思?我怎样才能使它工作?(如果可能的话)
如果这是不可能的,我怎么看图像是否存在于纹理中? 我正在使用SFML 2.1和CodeBlocks。
谢谢。

回答

0

我找到出路: 使用if(image.getSize().x>0&&image.getSize().y>0) 它分开地比较x和y。

1

sf::Texture::getSize()返回sf::Vector2<T>,特别是sf::Vector2u。你应该做

sf::Vector2u size = image.getSize(); 
if(size.x > 0 || size.y > 0) ... 

if(image.getSize() > sf::Vector2u(0, 0)) ... 
+0

没有op>用于比较矢量;这是没有道理的。 – Hiura 2014-09-05 10:12:44

+0

我试过第二个,它不起作用。 – user3882772 2014-09-05 16:49:36

+0

@ user3882772当然不起作用。比较我以前的评论... – Hiura 2014-09-05 18:44:17