Answer the question
In order to leave comments, you need to log in
There are 1000 jpegs, it is necessary to automatically print its file name as a raster in the corner of each. How?
There are 1000 jpegs, it is necessary to automatically print its file name as a raster in the corner of each. How?
Is there any tool?
Answer the question
In order to leave comments, you need to log in
Like this, for example, I inserted the file name into the picture:
for file in *png; do NM=$(bsnm $file); convert $file -gravity Center -pointsize 40 -annotate +100+200 "$NM" ${NM}l.png; done
First, experiment with the convert utility included with the already mentioned ImageMagick package. Just in the next topic , with its help, they imprinted the date, look. After that, a banal loop:
for img in *.jpg; do convert $img [нужные опции и все такое прочее]; done
If the quality of the result is important to you, then, perhaps, there are no alternatives - betterjpeg.com
All other options involve image compression.
FastStone Photo Resizer copes with this task. This is a batch image processor, in addition to watermarks, it can apply other effects in batch mode.
There is another interesting way, this is ECMAScript for Photoshop. Not that it is suitable for this task specifically (here convert will do it with a bang), but the tool is very powerful, at one time it helped out when automating complex effects.
and here is how to autogenerate the stamp itself:
$ convert -size 260x30 xc:transparent -font Arial -pointsize 24 -fill black -annotate +6+24 "your watermark" \
-fill white -annotate +8+26 "your watermark" watermark.png
$ convert -size 260x30 xc:black -font Arial -pointsize 24 -fill white -annotate +6+24 "your watermark" \
-fill white -annotate +8+26 "your watermark" -fill black -annotate +7+25 "your watermark" mask.jpg
$ composite -compose CopyOpacity mask.jpg watermark.png stamp.png
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question