c++ - 使用 QPainter 在像素图上绘制带阴影的文本

标签 c++ qt shadow qpainter

我正在使用 Qt 使用 C++ 开发一个项目,并且我正在尝试找到一种在使用 QPainter 在 QPixmap 上绘制文本时应用文本阴影的方法。

我明白 QGraphicsDropShadowEffect是一件事,我在我项目的其他部分使用,但我无法终生找到一种方法来在像素图上使用 QPainter 绘制时应用 QGraphicsEffect。使用不同的偏移量和不透明度多次绘制相同的文本并不能完全减少它。

有没有办法做到这一点? 如果没有,我怎么能着手制作一个执行它的函数,给定一个 QGraphicsEffect 从中获取半径和颜色?

提前致谢!

最佳答案

我不认为直接可以“用阴影绘制文本”,只能将阴影应用到已经绘制的东西上,这些东西会接受一个元素并使用它的 alpha channel 来计算阴影。

您应该在最终产品或绘图过程中使用构图。如果您在文本元素上使用它,它应该可以工作。另一种选择是用黑色绘制文本,应用高斯模糊,然后以所需的偏移量再次在其上绘制文本。

关于c++ - 使用 QPainter 在像素图上绘制带阴影的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40007228/

相关文章:

c++ - 用于分配/释放 I/O 缓冲区的现代 C++ 习惯用法

c++ - QDataStream 和 QDataStream::operator>> ( char *& s ) 的问题

c++ - 以编程方式隐藏垂直布局?

c++ - 无法在 QT Creator 中打开包含文件 pcap.h (C1083)

html - css div 渐变阴影/边框

c++ - Qt 5.1.1在vs2010编译报错

c++ - Boost uBLAS 矩阵/vector 积

c++ - 如何在 OSX 上获取 "codesigned"gdb?

ios - 在 UIVisualEffectView 周围创建阴影而不覆盖整个 View

unity-game-engine - Unity HDRP 地形上的阴影太暗