QT: рисование растровых/PNG-изображений в QWidget

Я создаю игру, используя QT в С++. Я расширил класс QWidget как поверхность для рисования и создал поток для обновления экрана. Теперь мне нужно загрузить листы спрайтов из файла, разбить их на отдельные изображения размером 64x64 пикселя, а затем нарисовать их на экране. Есть ли у кого-нибудь совет, как мне это сделать?

ТИА


person mtmurdock    schedule 18.04.2011    source источник
comment
Вы имеете в виду, что хотите загружать изображения и отображать их на экране в полях с разрешением 64x64? Если да, рассматривали ли вы void setPixmap ( const QPixmap & ) из QLable?   -  person snoofkin    schedule 18.04.2011


Ответы (1)


В некоторых вариантах QPainter::drawPixmap() есть возможность указать прямоугольник в растровом изображении, который нужно нарисовать. Это поможет вам сохранить листы спрайтов, не разбивая их на маленькие изображения.

Для повторяющихся спрайтов QPainter::drawPixmapFragments(), вероятно, будет иметь лучшую производительность, а также разрешить рисование подизображения.

person Stephen Chu    schedule 18.04.2011
comment
Круто, я действительно нашел в основном то же решение. QPainter::drawPixmap(QRectF, QPixmap, QRectF) было очень удобно. Спасибо за помощь. - person mtmurdock; 18.04.2011