Написание нескольких изображений с помощью Magick на R - PullRequest
1 голос
/ 10 апреля 2020

У меня есть список предложений Excel, и я пытаюсь аннотировать каждое из них на одном и том же шаблонном изображении и сохранять каждый файл изображения отдельно (т.е. у меня будет 20 изображений с тем же фоном, но с другим текстом - сродни Word Mail Merge особенность с документами).

Для этого я использую команды пакета R magick image_annotate и image_write. Я предполагал, что помещение его в for l oop выполнит sh эту задачу.

Я использовал следующий код:

QuoteList=read.csv("wordlist.csv", stringsAsFactors = F, header = T)

myTemplate=image_read("template.png")

for (i in 1:nrow(QuoteList))
{
  thisImage[i]=image_annotate(myTemplate, QuoteList$myquote[i])
  image_write(thisImage[i], format = "png")
}

Однако я получаю ошибку:

Error in magick_image_replace(x, i, value) : subscript out of bounds

Я не совсем уверен, что я делаю неправильно, и был бы очень признателен за любую помощь в этом или любых возможных альтернативных решениях. Заранее спасибо.

1 Ответ

0 голосов
/ 10 апреля 2020

Вам нужно заменять объект, который вы пишете, на каждую итерацию, но каждый раз записывать новое имя файла:

for (i in 1:nrow(QuoteList)){
  thisImage = image_annotate(myTemplate, QuoteList$myquote[i])
  image_write(thisImage, format <- "png", path = paste0(i, ".png"))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...