我有一个paintEvent,我每次画画时都会添加背景, 问题是我需要图像停止重复。
例如,如果我的背景图像是20像素x 20像素,我的 绘画区域是40像素x40像素,背景是4张图像,我只需要一张。
这是我的代码。
1. QPainter painter; // painter for the canvas
2. painter.begin(this);
3. QPixmap backgroundImage;
4. backgroundImage.load("multimedia/monitor_image.png");
5. painter.fillRect(event->rect(), QBrush(backgroundImage));
感谢您的帮助!
答案 0 :(得分:1)
有许多功能可以帮助缩放图片:
http://doc.qt.nokia.com/4.7-snapshot/qpixmap.html
如果你知道高度,请尝试“scaleToHeight”。
这样的事情应该有效:
backgroundImage = backgroundImage.scaledToHeight(painter.height);
在你调用fillRect之前这样做,如果它是一个完美的正方形,你不应该有问题。