C++ Qt - 一种模仿Photoshop叠加功能的方法
C++ Qt - a way to mimic Photoshop's overlay function
我正在编写一个必须结合各种图像的应用程序。我有一个基础图像,一个蒙版和一个纹理。一个人可以准备一些透明的纹理和颜色,但这是一项乏味的工作,特别是对我来说,我从来没有擅长过这种东西。
所以我正在寻找一种方法来模仿Photoshop的叠加功能。这可能吗?用户将能够上传一个基础图像,一个蒙版,和一个未动的纹理,而不是准备纹理保持它的颜色,尽管有足够的透明度,以使物体的细节可见。有什么免费的工具我可以使用和实现吗?
诅咒再次降临。发帖之后,我自己马上就能找到答案。
答案很简单:QPainter
。它有一个叫做compositionMode
的参数,你可以将它设置为各种混合模式,就像在Photoshop中一样。
QPixmap background(backgroundUrl);
QPixmap overlayTexture(overlayUrl);
QPainter painter(&background);
painter.setCompositionMode(QPainter::CompositionMode_Overlay);
painter.drawPixmap(0, 0, overlayTexture);
painter.end();
就是这样。
相关文章:
- 像素与透明度叠加
- 杀戮计数器滞后游戏的透明叠加层
- 如何创建和分发 SteamVR 仪表板叠加层
- GEOS叠加相交操作
- 暂停游戏OnSteamVR叠加层处于活动状态
- 使用大理石的自定义地图叠加
- 视差图和校正图像之间的叠加
- 动态添加叠加微件
- 叠加多个小部件
- 打开简历,视频叠加
- QT非阻滞叠加对话框
- Photoshop插件sdk示例列表不工作
- Gstreamer 文本叠加未更新
- OpENCV和UNSHARP屏蔽如Adobe Photoshop
- 在Android NDK中的颜色叠加
- 在 Dlib 中,如何保存带有叠加层的图像
- Photoshop SDK:用于Layer Comps的导出插件
- 有没有任何方法可以从外部控制photoshop属性
- GTKMM:在叠加层上移动日历(裁剪问题)
- C++ Qt - 一种模仿Photoshop叠加功能的方法