Как создать поверхность cairo в guile

у меня есть этот код

guile> (cairo-pdf-surface-create "foo.pdf" 100.0 100.0)
; and get this error
standard input:29:1: In procedure cairo-pdf-surface-create in expression (cairo-pdf-surface-create "foo.pdf" 100.0 ...):
standard input:29:1: Wrong type (expecting string): 100.0
ABORT: (wrong-type-arg)

и когда я использую строки как ширину и высоту

guile> (cairo-pdf-surface-create "foo.pdf" "100.0" "100.0")

Backtrace:
In standard input:
  30: 0* [cairo-pdf-surface-create "foo.pdf" {"100.0"} "100.0"]

standard input:30:1: In procedure cairo-pdf-surface-create in expression (cairo-pdf-surface-create "foo.pdf" "100.0" ...):
standard input:30:1: Wrong type (expecting real number): "100.0"

В документации говорится:

cairo-pdf-surface-create (имя файла ‹char›) [Функция]
(ширина в пунктах ‹double›) (высота в пунктах ‹double›)
⇒ (ret ‹cairo-surface- т›)


person jcubic    schedule 29.09.2010    source источник


Ответы (1)


По крайней мере, для самой последней версии попробуйте следующее:

(cairo-pdf-surface-create 100.0 100.0 "foo.pdf")

См. источник, который указывает аргументы в порядке (sx sy filename), с необязательным именем файла (с использованием текущего выходного порта, если он не указан).

person Chris Jester-Young    schedule 30.09.2010
comment
По просьбе сопровождающего (я проверил этот ответ с ним в IRC), я зарегистрировал ошибку для документации: bugs.freedesktop.org/show_bug.cgi?id=30510 - person Chris Jester-Young; 30.09.2010