我尝试绘制drawRoundedRect
方法的圆角矩形直接在QPixmap
(无渲染引擎涉及这里exept纯Qt的一个......),我仔细检查了矩形与我的像素图的大小尺寸:Qt圆角矩形,为什么角落不同?
Pixmap : QSize(50, 73)
Rectangle: QRect(0,0 48x11)
看到大量的空间...
编辑:一些代码
pixmap = QPixmap(50,73); //example size that match my case
QRectF rect(0,0,48,11);
QPainter painter(&pixmap);
painter.setRenderHint(QPainter::TextAntialiasing);
painter.setWorldMatrixEnabled(false);
painter.setPen(QPen()); //no pen
painter.setBrush(QBrush(color));
painter.drawRoundedRect(rect, 2.0, 2.0);
- 我残疾人世界变换...
- I SET设置变换到统一...
- 我尝试了几种半径(1.0,2.0,3.0,4.0)...
- 更改笔宽,刷色...
但它总是以4个不同角落的直肠结束!这样的:
我直接ouptut像素图的文件,以确保我的显示器......相同的形状期间没有刮了。
任何人都知道Qt圆角矩形小半径?我很久以前就看到过这种情况,但我不想回答这个问题!
我用antialising玩其他方式来绘制东西(drwa路径,弧...)。用这种小东西进行抗锯齿使其值得!而我最好的投篮是加入〜0.5每一个地方都可能会产生怪异的行为......所以我会接受**数字**方法! – vrince
有同样的问题。使用'QPainter p(this); p.setRenderHint(QPainter的::抗锯齿); p.setRenderHint(QPainter :: HighQualityAlliiasing);'为我做了诡计。 –
改变笔的宽度做魔术! – Ashish