Qt實現藝術字效果

2021-08-20 11:15:03 字數 1703 閱讀 7442

qt實現藝術字效果,通常有三種方式,一種是通過繪製機制,另外一種是使用樣式表,最後一種是通過代替,本次介紹使用繪製來實現藝術字效果。

**如下(分兩種實現):

第一種:

qpainter painter(this);

qpen pen;

pen.setwidth(2);

pen.setcolor(qt::red);

painter.setrenderhint(qpainter::antialiasing, true);

painter.setpen(pen);

qlineargradient lineargrad;

bool iftransparent = false;

if (iftransparent) else

qfont font;

font.setpointsize(40);

font.setbold(true);

qpainterpath textpath;

qrect painterrect = rect();

qstring str = qstringliteral("花莫弦");

textpath.addtext(width() / 2, painterrect.bottom() / 2, font, str);

painter.setbrush(lineargrad);

painter.drawpath(textpath);

效果圖:

第二種:

qpainter painter(this);

qfont font;

font.setpointsize(40);

font.setbold(true);

qfontmetrics metrics(font);

qpainterpath path;

qpen pen(qcolor(255, 0, 0, 100));

int penwidth = font.pointsize() * 0.5;

if (penwidth > 6)

pen.setwidth(penwidth);

int len = metrics.width(qstringliteral("花莫弦"));

int w = width();

int px = (len - w) / 2;

if (px < 0)

int py = (height() - metrics.height()) / 2 + metrics.ascent();

if(py < 0)

path.addtext(px, py, font, qstringliteral("花莫弦"));

painter.strokepath(path, pen);

painter.drawpath(path);

painter.fillpath(path, qbrush(qt::blue));

效果圖:

Qt實現藝術字效果

qt實現藝術字效果,通常有三種方式,一種是通過繪製機制,另外一種是使用樣式表,最後一種是通過代替,本次介紹使用繪製來實現藝術字效果。如下 分兩種實現 第一種 qpainter painter this qpen pen pen.setwidth 2 pen.setcolor qt red paint...

html實現藝術字

菊 花 臺 臺 花 菊 風過之處風過之處 風過之處 風過之處 夢海情苑越辦越好夢海 情苑越辦 越好春夏秋冬 春夏秋冬 夢海情苑歡 迎你的到來 夢海情苑歡迎你的到來 歡迎光臨!歡迎光 臨!我愛夢海情苑 我愛夢海情苑 音畫 時尚 音畫 時尚 有空來坐坐 有空來坐坐 有空來坐坐 有空來坐坐 常用字型常用字...

MFC 寫藝術字

藝術字型 void cgamescore drawtextstring cd3ddevice pd3ddevice,lpctstr pszstring,d3dcolor crtext,d3dcolor crframe,lprect lprect,uint nformat int nyexcursio...