2014-09-05 3 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) Это сравнив х и у по отдельности.

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

+0

Я попробовал второй, он не работает. – user3882772

+0

@ пользователь3882772, конечно, не работает. cf мой предыдущий комментарий ... – Hiura

Смежные вопросы