lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Images prises depuis Internet


From: Ya Gloops
Subject: Re: Images prises depuis Internet
Date: Thu, 30 Jun 2022 07:38:21 +0000 (UTC)

Bonjour !
Ca ne fonctionne pas chez moi, mais je ne suis qu'en version 2.23.10, c'est 
peut être pour ça...
D'une manière générale, comme on fait avec "\epsfile", peut on importer 
d'autres format que *.eps, par exemple *.png ou *.jpg ?

Gilles





Le mercredi 29 juin 2022 à 20:20:30 UTC+2, Jean Abou Samra <jean@abou-samra.fr> 
a écrit : 





Le 29/06/2022 à 09:48, Jean Abou Samra a écrit :
> Bonjour,
>
> (Pense à donner un titre à ton message à l'avenir afin qu'on
> se souvienne facilement de ce dont il s'agit dans son courrielleur.)
>
> Le 29/06/2022 à 09:36, david427@mailo.com a écrit :
>> Bonjour,
>>
>> Je sais insérer une image dans un markup :
>> \markup { \epsfile #X #8 #"image.eps" }
>>
>> Dans ce cas, il faut que l'image soit sur le disque dur de 
>> l'utilisateur...
>>
>>
>> Ma question : Est-il possible de mettre une adresse internet à la 
>> place ?
>> un truc du genre :
>> \markup { \epsfile #X #8 #"http://monsite.fr/image.eps"; }
>
>
> Qu'entends-tu par là ? Télécharger l'image automatiquement
> lors de la compilation du .ly et l'inclure ? Ou bien inclure
> un lien dans le PDF ?
>
> Télécharger l'image à la compilation n'est pas possible à
> ma connaissance, du moins pas en 2.23 avec les binaires
> officielles, pour la simple et bonne raison que ces binaires
> sont compilées avec une version de Guile sans les fonctionnalités
> liées au réseau, pour des raisons de sécurité.



Toutes mes excuses, j'ai dit une bêtise. Bien que les fonctionnalités
de réseau soient désactivées à l'intérieur de Guile, il est toujours
possible d'exécuter des commandes du système qui, elles, y ont accès.
Par exemple, sous GNU/Linux, ce genre de truc devrait marcher :

\version "2.23.11"

from-network =
#(let ((keep-these '()))
   (define-scheme-function (url) (string?)
     (let* (;; Un fichier temporaire
            (port (mkstemp! "/tmp/from-network-XXXXXX"))
            ;; Le nom de ce fichier
            (filename (port-filename port)))
       ;; Il est prudent de s'assurer qu'aucun autre processus n'écrit dans
       ;; ce fichier entre le moment où il est écrit par wget et le moment
       ;; où LilyPond le lit. Pour cela, on place le port dans une 
liste qui
       ;; n'est jamais effacée. Cela empêche le port d'être effacé, ce 
qui le
       ;; garde ouvert.
       (set! keep-these (cons port keep-these))
       ;; Le téléchargement
       (system* "wget" url "-O" filename)
       filename)))

\markup \epsfile #X #20 \from-network 
"https://people.sc.fsu.edu/~jburkardt/data/ps/bell_206.ps";


Néanmoins, je ne le recommande pas vraiment dans la mesure où
cela fait un téléchargement de l'image à chaque compilation.
Autant faire le téléchargement une fois.


Cordialement,
Jean





reply via email to

[Prev in Thread] Current Thread [Next in Thread]