【ラクにしたいでR】投稿記事のアイキャッチ画像作成

Rでパッケージ{magick}を使って投稿記事のアイキャッチ画像(featured image)を作る話。

tidyverseに出会ってRにはまっている。

パイプで処理をつなげていけるって分かりやすい。

magickも同様にパイプで処理ができる。

まずmagickパッケージを読み込む。

library(magick)
## Linking to ImageMagick 6.9.11.60
## Enabled features: fontconfig, freetype, fftw, heic, lcms, pango, webp, x11
## Disabled features: cairo, ghostscript, raw, rsvg
## Using 4 threads

以下のコードでpng画像が作成できる。

# 初期設定
filename <- "Reyecatch.png"
title <- "投稿記事のアイキャッチ画像作成"
fontsize <- 6

# 画像作成
rlogo <- image_read("Rlogo.png") |> 
  image_resize("x200")

img1 <- image_blank(width = 1200, height = 628, color = 'white')
img1 <- image_draw(img1)
  rect(0, 0, 1200, 314, col = "white", border = NA)
  rect(0, 314, 1200, 628, col = "#2369bd", border = NA)
  text(740, 157, "ラクにしたいでR", family = "Noto Sans Mono CJK JP", col = 'black', cex = 8)
  text(600, 157+314, title, family = "Noto Sans Mono CJK JP", col = 'white', cex = fontsize)
img1 <- img1 |> 
  image_border(color = "#2369bd", geometry = "10x10") |> 
  image_composite(rlogo, offset = "+65+65") 
image_write(img1, filename)

# 確認用
img1 |> 
  image_resize("400x") |> 
  print()
##   format width height colorspace matte filesize density
## 1    png   400    212       sRGB  TRUE        0   72x72

文字数によってフォントサイズを調整する必要があるのがちょっと手間だけど、微調整はきっと必要なのでいったんはこれでヨシ!


コメント

タイトルとURLをコピーしました