Re: Bilddatei als Ressource im Script ablegen
David Haller <[email protected]> Sun, 26 Sep 2010 18:10:37 +0200
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
Hallo,
Am Son, 26 Sep 2010, Thomas Moritz schrieb:
>gegeben sind jpg's gleicher Groesse und ein transparentes png je
>Copyright in gleicher Groesse.
>In einem Script moechte ich jedes/alle/ein jpg mit dem jeweiligen,
>transparenten png ueberlagern. Das klappt auch prima mit composite.
>Jetzt moechte ich das png gern als Ressource im Script hinterlegen und
>dazu fehlt mir ein konkreter Anhaltspunkt.
Enthält das PNG irgendwelche Besonderheiten? Sonst könntest du das
Copyright einfach per convert einfügen:
convert \
-font "helvetica" \
-pointsize 18 \
-fill black \
-draw "text 15,30 'Copyright bla blubb' \
-comment "Copyright bla blubb" foo.jpg foo_out.jpg
>Das png muss ich vermutlich byteweise als hex in eine Variable
>einlesen. Aber wie voll darf ich eine Variable ueberhaupt packen?
>Mein erstes Test-png ist 15286 Byte gross.
>
>Wer hat an sowas schonmal gebastelt und kann mir auf die Spruenge
>helfen?
Lege das PNG base64 kodiert in ner Variablen (oder per Here-Dokument)
ab. Oder nach nem Marker am Scriptende (vgl. shar-selbstentpackende
Archive).
uuencode -m foo.png.uu < foo.png
generiert dir den das uu-kodierte PNG, verwenden kannst du's dann mit
uudecode. Also z.B.:
FOO_PNG_UU='begin-base64 644 foo.png
iVBORw0KGgoAAAANSUhEUgAAAcAAAABpEAIAAABys7j1AAAACW9GRnMAAAB7
...
====
'
(in den '' steht die Ausgabe von uuencode -m).
und dann:
echo "$FOO_PNG_UU" | uudecode -o - | composite bar.jpg ... png:- ...
wobei du die restlichen Optionen statt der '...' ergänzen mußt und das
png:- composite angibt welchen Typ das per STDIN zu lesende Bild hat.
"Eingebettet" im Script statt ner Variablen könnte das evtl. so gehen
(nur Idee, ungetestet):
====
FOO_PNG_UU="$(sed -n "/BEGIN_FOO_PNG_UU/,/END_FOO_PNG_UU/p')"
[Rest vom script]
exit 0
BEGIN_FOO_PNG_UU
begin-base64 644 foo.png
iVBORw0KGgoAAAANSUhEUgAAAcAAAABpEAIAAABys7j1AAAACW9GRnMAAAB7
...
====
END_FOO_PNG_UU
BEGIN_BAR_PNG_UU
begin-base64 644 bar.png
...
END_FOO_PNG_UU
====
HTH,
-dnh
--
Optimist: There is a light at the end of the tunnel.
Pessimist: ... it is an oncoming train.
Cynic: ... and it is late. -- D. C. Staples