如题,我的Qt版本是4.8.2,代码如下:
- void MainWindow::paintEvent(QPaintEvent *)
- {
- QString fn = "/Users/hjkcai/Documents/miui/MiuiSystemUI/res/drawable-hdpi/alert_bar_background_normal.9.png";
- getnpTcInfo(fn); //获取pngFlag的函数
- QImage *p = new QImage(fn);
- QImage *np = new QImage(p->width() + 2, p->height() + 2, QImage::Format_ARGB32);
- QPainter *g = new QPainter(np);
- g->drawImage(1, 1, *p);
- for (int i = 0; i < 4; i++)
- {
- int x = -1, y = -1;
- switch (i)
- {
- case 0:
- x = 0;
- y = -1;
- break;
- case 1:
- x = np->width() - 1;
- y = -1;
- break;
- case 2:
- x = -1;
- y = 0;
- break;
- case 3:
- x = -1;
- y = np->height() - 1;
- break;
- }
- for (int j = 0; j < pngFlag[i].length(); j++)
- {
- if (!pngFlag[i][j]) continue;
- g->drawPoint(x == -1 ? j + 1 : x, y == -1 ? j + 1 : y);
- }
- }
- g->end();
- g->begin(this);
- g->drawImage(50, 50, *np);
- g->end(); delete g;
- delete np; delete p;
- }
运行后画出来的图是这样的:

如果变量g初始化时直接让它画在QWidget上就不会出现这种情况:

求大神帮忙...我要把这个图保存到
文件里的,如果有杂点根本就不能用啊