r - 使用来自多个现有图像的魔法在 R 中组合新图形
问题描述
我用优秀的gt
包创建了一个表。由于它是一个长表,我的代码将表分成两半。我将两半作为 png 文件保存到磁盘,然后使用magick
包image_append()
将它们并排合成为新的 png 文件。都好。
现在,magick
我想用 来组成一个带有徽标、一些标题文本和源注释的最终图形image_annotate()
,以及我保存的表格,所有这些都布置得很好。
我一直试图理解正确的方法来做到这一点。我有所有的图形部件,但我不知道如何创建新的空白图形,magick
然后将这些部件放置在我想要的位置,以便成品看起来像这样:
解决方案
在 Imagemagick 中有很多方法可以创建文本图像。但这里可能是您最容易使用并转换为 R 的地方。以下是命令行 Imagemagick。
标识:
表格文字图片:
步骤:(在后续命令中)
- Line 1: load imagemagick convert
- Line 2: create 500x500 white background image
- Line 3: insert the logo image at +20+20 relative to top left
- Line 4: add title text via -annotate
- Line 5: add sub-title text via -annotate
- Line 6: insert the preformed table image below those
- Line 7: add the source notes text via -annotate
- Line 8: save the resulting png file to disk
命令:
convert \
-size 500x500 xc:white \
rainbow_logo.png -gravity northwest -geometry +20+20 -compose over -composite \
-font arial -fill black -pointsize 48 -annotate +125+15 "TITLE TEXT" \
-font arial -fill black -pointsize 32 -annotate +125+65 "SUB-TITLE TEXT" \
lorem.png -gravity northwest -geometry +20+140 -compose over -composite \
-font arial -fill black -pointsize 18 -annotate +20+455 "SOURCE NOTES" \
result2.png
结果:
推荐阅读
- security - 我是一名网络学生,现在正在研究 nmap,我不明白为什么我在这种扫描类型上得到了不同的答案:
- .net-core - 控制台应用程序中 Entity Framework Core 的更改跟踪问题
- firebase - 如何根据 Kotlin 中属于用户的邮政编码获取订单 Firestore?
- r - PowerBi - R Plotly 没有产生绘图
- r - 表函数如何用于两个向量的组合?
- codeigniter - codeigniter 项目的副本不能在同一台服务器上工作,而是在子域上工作
- mongodb - Spring-data 和 MongoDb 基于子文档属性的聚合和排序
- amazon-athena - 在 athena 上使用 quicksight 是否像普通的 athena 一样每次查询都要花钱?
- javascript - 如何根据对象数组对对象的json数组进行分组
- discord - 在没有公共渠道的情况下写入 Discord 机器人