Thursday, January 21, 2016

Resizing a bunch of pictures

I want to upload some of my pictures to some social network. But all of them have big resolution, and so will take a long time to upload. Besides, some time I need to save storage space.

Again, I can use Gimp for that. But when you have 200 pics, or even much more Gimp is not a good option. Let's see how we can get this done easily in command line.

You need:
  • The software graphicsmagick installed (sudo aptitude install graphicsmagick)
  • A directory with your original pictures
  • A directory for your signed pictures
For this example, consider that:

  • My pictures are in ~/Pictures/Lake
  • My resized pictures will be at ~/Pictures/Lake/Small 
  • All my original pictures have an extension .jpg.
This task is resolved with this simple CLI instruction:

for i in $(ls ~/Pictures/Lake/*.jpg) ; do echo $i; gm convert -resize 30% "${i}" "$(dirname ${i})/Small/$(basename ${i})" ; done

Note that my result will be pictures 30% of the original, and with the same name. After this, view the results and make the pictures bigger or smaller.

See the results of my example:
Compare the size of both files


If this post may be useful to you, please "Like" it and share it.

Wednesday, January 20, 2016

How to add watermark to a bunch of pictures

Adding a watermark to many pictures using a powerful tool as GIMP may take a long time. Let's see how we can get this done easily in command line.

You need:
  • The software graphicsmagick installed (sudo aptitude install graphicsmagick)
  • Your watermark with transparent background (mine is a PNG image)
  • A directory with your original pictures
  • A directory for your signed pictures
For this example, consider that:

  • My pictures are in ~/Pictures/Lake, my signed pictures will be at ~/Pictures/Lake/Signed and my watermark is ~/Pictures/sign.png.
  • All my original pictures have an extension .jpg.
  • Also, my watermark will be written in lower right corner (SouthEast), but there are more options (NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast).
This task is resolved with this simple CLI instruction:

for i in $(ls ~/Pictures/Lake/*.jpg); do echo ${i}; gm composite -gravity SouthEast ~/Pictures/sign.png ${i} "$(dirname ${i})/Signed/$(basename ${i})"; done

Of course, if your directory is different, you will have to modify the CLI instruction above.

Here is the result:
Without my watermark
With my watermark


If this post may be useful to you, please "Like" it and share it. If people "Like" it, I may show how I did my watermark using Gimp.