2014-09-05 75 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