2011-04-18 341 views
0

我正在C++中使用QT构建游戏。我已经将QWidget类扩展为绘画表面并设置了一个线程来刷新屏幕。我现在需要的是从文件加载精灵图纸,将它们拆分成单独的64x64像素图像,然后将它们绘制到屏幕上。有没有人对我应该如何去做这件事有一些建议?QT:将位图/ PNG图像绘制到QWidget

TIA

+0

您的意思是说您要加载图像并将它们显示在64x64分辨率框中的屏幕上吗?如果是这样,您是否认为无法从QLable中设置setPixmap(const QPixmap&)? – snoofkin 2011-04-18 06:01:37

回答

1

一些QPainter::drawPixmap()变种具有指定的像素图矩形的选项来绘制。这将帮助您保留精灵表而不会将它们分解为小图像。

对于重复的精灵,QPainter::drawPixmapFragments()可能会有更好的性能,也允许子图像绘制。

+0

真棒,我实际上找到基本相同的解决方案。 'QPainter :: drawPixmap(QRectF,QPixmap,QRectF)'非常方便。谢谢您的帮助。 – mtmurdock 2011-04-18 17:29:33