Skip to main content

Some image manipulation with Image Magick

/usr/bin/convert -size 160x160 xc:none \(
  "in.png" -strip -thumbnail "140x140^" -gravity center -crop 140x140+0+0 +repage \(
      +clone -fill black -colorize 100% -fill white -draw "translate 70,70 circle 0,0 70,0"
  \)
  -alpha off -compose copy_opacity -composite
\)
-alpha Set -compose src-over -composite -fill none -stroke "#0000FF" -strokewidth 10 -draw "translate 79.5,79.5 circle 0,0 74,0" "out.png"

http://www.imagemagick.org/discourse-server/viewtopic.php?t=22110

https://stackoverflow.com/questions/2686715/why-png-files-produced-by-imagemagick-are-so-much-bigger-than-jpg-gif

JPG is a lossy compression algorithm while PNG is a lossless one.

This fact alone will (in general) make JPG images smaller than PNG ones. You can tweak the compression ratios for each format, so it could also be that you're not compressing your PNG files as much as your JPG ones.

For a photographic image saving as JPG will usually produce a smaller file than PNG as there's more noise or randomness in the image for the compression to work with. Images created by graphic art tools will tend to have more hard edges and areas of solid colour which will compress better in PNG.

If you have text in your image then PNG is going to produce a better quality image as the harder edges of the characters won't be blurred like they would be if JPG is used.

GIF is smaller because it's based on an colour palette (of 256 colours) rather than the separate RGB values for each pixel (or group of pixels) in JPG and PNG.

http://sweetme.at/2013/09/11/how-to-maximize-png-image-compression-with-optipng/

http://pointlessramblings.com/posts/pngquant_vs_pngcrush_vs_optipng_vs_pngnq/

https://stackoverflow.com/questions/1955505/parsing-json-with-unix-tools

// TODO add some bash loop compress jpg, png here

https://developers.google.com/web/updates/2016/04/intersectionobserver
https://developers.google.com/web/tools/lighthouse/audits/blocking-resources

https://stackoverflow.com/questions/7261855/recommendation-for-compressing-jpg-files-with-imagemagick

Note on Windows, we have to change input parameter position like this:
$ magick softwareConsulting.jpg   -strip -interlace Plane -gaussian-blur 0.05 -quality 85%  softwareConsulting.jpg


convert in new version on Windows change to magick (?)

Create transparent image
https://www.imagemagick.org/discourse-server/viewtopic.php?t=18300

/usr/local/bin/convert -size 326x152 xc:none bg-trans.png
This may be useful for create transparent bg img for another compose.

Compose/merge images at position (fuck my english, it should be geometry keyword)
http://www.imagemagick.org/discourse-server/viewtopic.php?t=20251

convert  background.jpg  tool_marker.png -geometry +50+50 -composite result4.jpg

Fill transparent image (bg) with color

convert -flatten img1.png img1-white.png

For example:
combine two image logo + slogan. logo 150x100, slogan 320x31; final 326x151
=> slogan bottom bar 320 - 326 => padding left / right 3px;
Same as logo (this is very critical part, be careful with this one) because of logo or other image often have padding by default, so we need careful compute left padding for logo.
In this case it is as slogan and +3px. Combine with logo default padding resulted in total ab 12-13px.

F45$ /usr/local/bin/convert bg-trans.png slogan3.gif  -geometry +3+119 -composite tmp.png
F45$ /usr/local/bin/convert tmp.png logo.gif  -geometry +3+7 -composite tmp.png

=> only one tmp image if mistake in one step need redo all :( .

Extract frames from GIF:
convert -coalesce brocoli.gif out%05d.pgm


Comments

Popular posts from this blog

Rand mm 10

https://stackoverflow.com/questions/2447791/define-vs-const Oh const vs define, many time I got unexpected interview question. As this one, I do not know much or try to study this. My work flow, and I believe of many programmer is that search topic only when we have task or job to tackle. We ignore many 'basic', 'fundamental' documents, RTFM is boring. So I think it is a trade off between the two way of study language. And I think there are a bridge or balanced way to extract both advantage of two method. There are some huge issue with programmer like me that prevent we master some technique that take only little time if doing properly. For example, some Red Hat certificate program, lesson, course that I have learned during Collage gave our exceptional useful when it cover almost all topic while working with Linux. I remember it called something like RHEL (RedHat Enterprise Linux) Certificate... I think there are many tons of documents, guide n books about Linux bu

Martin Fowler - Software Architecture - Making Architecture matter

  https://martinfowler.com/architecture/ One can appreciate the point of this presentation when one's sense of code smell is trained, functional and utilized. Those controlling the budget as well as developer leads should understand the design stamina hypothesis, so that the appropriate focus and priority is given to internal quality - otherwise pay a high price soon. Andrew Farrell 8 months ago I love that he was able to give an important lesson on the “How?” of software architecture at the very end: delegate decisions to those with the time to focus on them. Very nice and straight-forward talk about the value of software architecture For me, architecture is the distribution of complexity in a system. And also, how subsystems communicate with each other. A battle between craftmanship and the economics and economics always win... https://hackernoon.com/applying-clean-architecture-on-web-application-with-modular-pattern-7b11f1b89011 1. Independent of Frameworks 2. Testable 3. Indepe