Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
####### # # E-scripts on ImageMagick. # # Note 1: use the eev command (defined in eev.el) and the # ee alias (in my .zshrc) to execute parts of this file. # Executing this file as a whole makes no sense. # An introduction to eev can be found here: # # (find-eev-quick-intro) # http://angg.twu.net/eev-intros/find-eev-quick-intro.html # # Note 2: be VERY careful and make sure you understand what # you're doing. # # Note 3: If you use a shell other than zsh things like |& # and the for loops may not work. # # Note 4: I always run as root. # # Note 5: some parts are too old and don't work anymore. Some # never worked. # # Note 6: the definitions for the find-xxxfile commands are on my # .emacs. # # Note 7: if you see a strange command check my .zshrc -- it may # be defined there as a function or an alias. # # Note 8: the sections without dates are always older than the # sections with dates. # # This file is at <http://angg.twu.net/e/imagemagick.e> # or at <http://angg.twu.net/e/imagemagick.e.html>. # See also <http://angg.twu.net/emacs.html>, # <http://angg.twu.net/.emacs[.html]>, # <http://angg.twu.net/.zshrc[.html]>, # <http://angg.twu.net/escripts.html>, # and <http://angg.twu.net/>. # ####### # «.wand» (to "wand") # «.wand-api» (to "wand-api") # «.tclmagick» (to "tclmagick") # «.convert» (to "convert") # «.rotate» (to "rotate") # «.identify» (to "identify") # «.exif» (to "exif") # «.exif-orientation» (to "exif-orientation") # «.exif-thumbnail» (to "exif-thumbnail") # «.exif-bug-2022» (to "exif-bug-2022") # «.whiteboard» (to "whiteboard") # «.math-b-images» (to "math-b-images") # «.graphicsmagick» (to "graphicsmagick") # «.convert-jpgs-to-pdf» (to "convert-jpgs-to-pdf") # «.convert-pdf-to-jpgs» (to "convert-pdf-to-jpgs") # «.import» (to "import") # «.whiteboard-email» (to "whiteboard-email") # «.textcleaner» (to "textcleaner") # «.extract» (to "extract") # «.pdf-to-animated-gif» (to "pdf-to-animated-gif") # (find-esgrep "grep -niH -e imagemagick *.e") # (find-es "x" "imagemagick") # (find-status "imagemagick") # (find-vldifile "imagemagick.list") # (find-udfile "imagemagick/") # (find-status "imagemagick-doc") # (find-vldifile "imagemagick-doc.list") # (find-udfile "imagemagick-doc/") # (find-fline "/usr/share/doc/imagemagick/www/api/") # (find-udw3m "imagemagick/www/api/resize.html") # (find-udw3m "imagemagick/www/api/resize.html") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) apti imagemagick-6-doc # (find-zsh "installeddebs | sort | grep magick") # (find-zsh "availabledebs | sort | grep magick") ##### # # Wand # 2010dec15 # ##### # «wand» (to ".wand") # (find-zsh "installeddebs | sort | grep wand") # (find-zsh "availabledebs | sort | grep wand") # (find-status "libmagickwand-dev") # (find-vldifile "libmagickwand-dev.list") # (find-udfile "libmagickwand-dev/") # (find-status "libmagickwand3") # (find-vldifile "libmagickwand3.list") # (find-udfile "libmagickwand3/") # (find-fline "/usr/bin/MagickWand-config") # (find-fline "/usr/bin/Wand-config") # (find-fline "/usr/lib/pkgconfig/") # (find-fline "/usr/lib/pkgconfig/MagickWand.pc") # (find-fline "/usr/lib/pkgconfig/Wand.pc") ##### # # The Wand API # 2010dec15 # ##### # «wand-api» (to ".wand-api") # (find-status "imagemagick-doc") # (find-vldifile "imagemagick-doc.list") # (find-udfile "imagemagick-doc/") # (find-udfile "imagemagick/www/") # (find-udw3m "imagemagick/www/api.html") # (find-udfile "imagemagick/www/api/") # (find-udw3m "imagemagick/www/api/transform.html") ##### # # TclMagick # 2010dec15 # ##### # «tclmagick» (to ".tclmagick") # (find-es "tcl" "tclmagick") # (find-es "tcl" "tclmagick-build") # (find-es "tcl" "tclmagick-build2") # (find-status "tclmagick") # (find-vldifile "tclmagick.list") # (find-udfile "tclmagick/") # (find-udfile "tclmagick/") # (find-udw3m "tclmagick/index.html") # (find-udw3m "tclmagick/TclMagick.html") # (find-udw3m "tclmagick/TkMagick.html") # file:///usr/share/doc/tclmagick/TclMagick.html # file:///usr/share/doc/tclmagick/TkMagick.html # (find-tclmagickfile "") # (find-tclmagickfile "tests/") # (find-tclmagickfile "tests/test-draw.tcl") # (find-tclmagickfile "tests/test-pixel.tcl") # (find-tclmagickfile "tests/test-wand.tcl") # (find-tclmagickfile "tests/test-wand.tcl" "$draw Rectangle") # (find-tclmagickfile "tests/test-wand.tcl" "$wand CropImage") # (find-tclmagickfile "tests/tkmagick.tcl") # (find-tclmagickfile "tmp/") # (find-fline "~/SCANS/caderno4/C2_VS_2010dec13_2.jpg") ##### # # convert # 2012may04 # ##### # «convert» (to ".convert") # (find-esgrep "grep -nH -e convert *.e") # (find-man "1 convert") # (find-man "1 convert" "-despeckle") # (find-man "1 convert" "-scale") # (find-man "1 convert" "-resize") # (find-man "1 convert" " -resize") # (find-fline "~/eev-current/debian/eev.xpm") # https://imagemagick.org/script/convert.php # https://imagemagick.org/script/command-line-options.php#crop # file:///usr/share/doc/imagemagick-6-common/html/www/convert.html * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) convert ~/eev-current/debian/eev.xpm -scale 200 /tmp/eev_s200pixels.png convert ~/eev-current/debian/eev.xpm -scale 200% /tmp/eev_s200percent.png convert ~/eev-current/debian/eev.xpm -resize 200 /tmp/eev_r200pixels.png convert ~/eev-current/debian/eev.xpm -resize 200% /tmp/eev_r200percent.png # (find-sh "for i in /tmp/eev_*; do identify $i; done") # (find-fline "/tmp/" "eev") # Blurred: # (find-fline "/tmp/eev_r200percent.png") # (find-fline "/tmp/eev_r200pixels.png") # Sharp: # (find-fline "/tmp/eev_s200percent.png") # (find-fline "/tmp/eev_s200pixels.png") convert ~/IMAGES/forthsun.png -scale 256 /tmp/forthsun_r256pixels.png # (find-fline "/tmp/" "forthsun_r256pixels.png") # (find-fline "/tmp/forthsun_r256pixels.png") cd /tmp/ convert /tmp/retangulo_de_papel_big.jpg -scale 25% retangulo_de_papel.jpg # (find-man "1 ImageMagick") # (find-man "1 animate") # (find-man "1 compare") # (find-man "1 composite") # (find-man "1 conjure") # (find-man "1 convert") # (find-man "1 display") # (find-man "1 identify") # (find-man "1 import") # (find-man "1 mogrify") # (find-man "1 montage") # (find-man "1 stream") ##### # # rotate # 2012aug26 # ##### # «rotate» (to ".rotate") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-fline "/tmp/dejours/") cd /tmp/dejours/ convert 0030.jpeg -rotate 180 0030_r.jpeg convert 0030.jpeg -rotate 180 0030.jpeg ##### # # identify # 2021aug19 # ##### # «identify» (to ".identify") # (find-man "1 identify") # (find-man "1 identify" "-format") # https://imagemagick.org/script/command-line-options.php#format # https://imagemagick.org/script/escape.php * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-sh "convert -list format") # (find-fline "~/tmp/anubis_2020.jpg") FNAME=$HOME/tmp/anubis_2020.jpg laf $FNAME file $FNAME identify -format "%wx%h\n" $FNAME ##### # # exif # 2012aug26 # ##### # «exif» (to ".exif") # http://en.wikipedia.org/wiki/Exchangeable_image_file_format # (find-zsh "availabledebs | sort | grep exif") # (find-status "exif") # (find-vldifile "exif.list") # (find-udfile "exif/") # (find-man "1 exif") # (find-man "1 exif" "Orientation tag") # (find-man "1 identify") # (find-fline "/sda6/nikon/containers/orig/") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cp -v /sda6/nikon/containers/orig/DSC_0112.JPG /tmp/ # (find-man "1 exif") # (find-sh "exif --list-tags /tmp/DSC_0112.JPG") # (find-sh "exif --list-tags /tmp/DSC_0112.JPG | grep '\\*'") # (find-sh "exif /tmp/DSC_0112.JPG") # (find-sh "exif /sda6/nikon/containers/orig/DSC_0117.JPG | tee /tmp/o") # (find-sh "exif /sda6/nikon/containers/DSC_0117_r4_rampa.JPG | tee /tmp/o2") # (find-tkdiff "/tmp/o" "/tmp/o2") # (find-callprocess '("exif" "/tmp/DSC_0112.JPG") "Inch") ##### # # Exif orientation problem # 2013sep26 # ##### # «exif-orientation» (to ".exif-orientation") # http://www.daveperrett.com/articles/2012/07/28/exif-orientation-handling-is-a-ghetto/ # http://www.impulseadventure.com/photo/exif-orientation.html # 2014mar12: # (find-angg ".emacs" "rotate") # file:///usr/share/doc/imagemagick/www/command-line-options.html#auto-orient # http://www.emacswiki.org/emacs/Tumme # (find-egrep "grep -niH -e rotation *.el") # (find-efile "image-dired.el") # (find-efile "image-mode.el") # (find-freenode-links "##imagemagick") # http://angg.twu.net/2013.2-GA/20130911_GAA1.jpg # (find-fline "~/2013.2-GA/20130911_GAA1.jpg") # (find-exif "~/2013.2-GA/20130911_GAA1.jpg") # (find-exif "~/2013.2-GA/20130911_GAA2.jpg") <edrx> hi... this is an image that looks in the "right" orientation in browsers and upside-down in Emacs (and possibly in other programs too): http://angg.twu.net/2013.2-GA/20130911_GAA1.jpg <edrx> when I run exif on it it says that its orientation is "Bottom-right"... the other images in the directory are "Top-left". <edrx> I usually adjust the orientation of my photos with commands like this: "convert orig.jpg -rotate 270 new.jpg" - which, in this case and others, produces images that are rendered in one way in programs that respect the exif orientation field, and in another in those that don't. <edrx> any suggestions? there must be some flags and options in imagemagick to produce images that do not confuse the programs that treat the exif orientation field in the wrong way... (edrx) ##### # # exif-thumbnail # 2018nov19 # ##### # «exif-thumbnail» (to ".exif-thumbnail") # (find-man "1 exif" "-e, --extract-thumbnail") # (find-man "1 exif" "-o, --output=FILE") # (find-fline "~/pergola/") # (find-fline "/tmp/pergola/") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rv /tmp/pergola/ mkdir /tmp/pergola/ cp -iv ~/pergola/*vista*.jpg /tmp/pergola/ cd /tmp/pergola/ exif -o 01_vista_do_203B_thumb.jpg -e 01_vista_do_203B.jpg file 01_vista_do_203B_thumb.jpg # (find-fline "~/pergola/") cd ~/pergola/ for i in *B.jpg; do exif -o $(basename $i .jpg)_thumb.jpg -e $i done # (find-fline "~/pergola/") # (find-fline "/tmp/pergola/") ##### # # exif-bug-2022 # 2022nov03 # ##### # «exif-bug-2022» (to ".exif-bug-2022") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cd ~/tmp for i in *.jpg; do exif $i; done # Corrupt data # The data provided does not follow the specification. # ExifLoader: The data supplied does not seem to contain EXIF data. ##### # # Whiteboard # 2014jun07 # ##### # «whiteboard» (to ".whiteboard") # (find-es "gimp" "whiteboard") # (find-angg "bin/whiteboard") ##### # # Preparing images for math-b.html # 2019jan16 # ##### # «math-b-images» (to ".math-b-images") # (find-fline "~/LATEX/" "2019logicday-PURO.jpg") # (find-THfile "math-b.blogme" "RIGHTFIG") # (find-THgrep "grep --color -nH -e RIGHTFIG math-b.blogme") # (find-fline "~/IMAGES/" "2017cwm.png") # (find-sh0 "identify ~/IMAGES/2017cwm.png") # (find-TH "math-b" "wld-2019") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) cp -v ~/LATEX/2019logicday-PURO.jpg /tmp/input.jpg cd /tmp/ identify input.jpg # (/ 1 12.0) convert input.jpg -scale 8% output.jpg convert input.jpg -scale 8.3% output.jpg convert input.jpg -scale 9% output.jpg identify output.jpg cp -v /tmp/output.jpg ~/IMAGES/entrada-PURO.jpg makeR # file:///home/edrx/TH/R/math-b.html#wld-2019 # (find-fline "/tmp/output.jpg") # (find-blogme3file "anggmake.lua" "IMAGES/vichy-video-pentominos.png") # (find-blogme3file "anggmake.lua" "IMAGES/entrada-PURO.jpg") ##### # # graphicsmagick # 2019sep29 # ##### # «graphicsmagick» (to ".graphicsmagick") # http://www.graphicsmagick.org/ ##### # # convert-jpgs-to-pdf # 2020dec01 # ##### # «convert-jpgs-to-pdf» (to ".convert-jpgs-to-pdf") # https://unix.stackexchange.com/questions/29869/converting-multiple-image-files-from-jpeg-to-pdf-format # https://askubuntu.com/questions/1081895/trouble-with-batch-conversion-of-png-to-pdf-using-convert/1081907 # (find-fline "/etc/ImageMagick-6/policy.xml") # (find-fline "$ASROOT/etc/ImageMagick-6/" "policy.xml") # (find-fline "$ASROOT/etc/ImageMagick-6/policy.xml") As pointed out in some comments, you need to edit the policies of ImageMagick in /etc/ImageMagick-7/policy.xml. More particularly, in ArchLinux at the time of writing (05/01/2019) the following line is uncommented: <policy domain="coder" rights="none" pattern="{PS,PS2,PS3,EPS,PDF,XPS}" /> Just wrap it between <!-- and --> to comment it, and pdf conversion should work again. ##### # # convert-pdf-to-jpgs # 2021may07 # ##### # «convert-pdf-to-jpgs» (to ".convert-pdf-to-jpgs") # https://stackoverflow.com/questions/43085889/how-to-convert-a-pdf-into-jpg-with-command-line-in-linux/61700520#61700520 # (find-angg ".emacs.templates" "find-classroom-trab-links") # (find-man "1 pdftoppm") # (find-man "1 pdftoppm" "-jpeg ") # (find-man "1 pdftoppm" "-jpegopt jpeg-options") # (find-man "1 pdftoppm" "\nJPEG OPTIONS") # (find-man "1 pdftoppm" "\nJPEG OPTIONS" "quality") # (find-fline "~/2020.2-C3/P2/" "Beatriz Da Silva Rangel.pdf") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-fline "/tmp/beatriz/") rm -Rv /tmp/beatriz/ mkdir /tmp/beatriz/ cd /tmp/beatriz/ cp -v "$HOME/2020.2-C3/P2/Beatriz Da Silva Rangel.pdf" b.pdf pdftoppm -jpeg -jpegopt quality=80 -r 300 \ b.pdf bout cp -v "$HOME/2020.2-C3/P2/Beatriz Da Silva Rangel.pdf" /tmp/a.pdf rm -Rv /tmp/pdf-jpg-pdf/ mkdir /tmp/pdf-jpg-pdf/ cd /tmp/pdf-jpg-pdf/ pdftoppm -jpeg -jpegopt quality=80 -r 150 /tmp/a.pdf b convert b*.jpg /tmp/b.pdf # (find-fline "/tmp/pdf-jpg-pdf/") # (find-fline "/tmp/" "a.pdf") # (find-fline "/tmp/" "b.pdf") pdftoppm ##### # # import # 2020dec19 # ##### # «import» (to ".import") # (find-man "1 import") # (find-es "emacs" "imgbb") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) import png:/tmp/foo.png # (find-fline "/tmp/foo.png") ##### # # whiteboard-email # 2021aug06 # ##### # «whiteboard-email» (to ".whiteboard-email") # (find-angg "bin/whiteboard") https://mail.google.com/mail/ca/u/0/#sent/KtbxLwgsvTVnjDPQLWpZQQvWnRfWQrLRPg fmw@alink.net whiteboard: parameters for big black dots? Hi Fred, I use your "whiteboard" script a lot, and since the pandemic started my way of using it changed - before the quarantine I used it mostly to process the photos of everything that I wrote on (real) whiteboards in the classes that I taught, and recently I started to use it to process photos of figures that I draw on paper, to include them in my slides... ...and there is something that I don't know how to adjust - I _think_ that I have tried changing all the parameters one by one, but I've probably missed something. I often have to process figures like this one, http://angg.twu.net/2021.1-C2/20210716_exercicio_7.jpg but in which some of big dots are solid, meaning "this point belongs to our set", and some are hollow, meaning "this point does not belongs to our set". The problem is that when the solid dots are bigger than some threshold size then whiteboard makes them hollow, and at this moment the only way that I know to change that is by using "-m"... is there a better way? Here is a test (for the sake of completeness). It runs whiteboard with "-m 1.0", "-m 0.5", and "-m 0.25", and uses xzgv to display the result after each attempt. For this specific image "-m 1.0" makes all dots very hollow, "-m 0.25" doesn't make them hollow at all, and "-m 0.5" creates small hollows inside some of the dots. rm -Rv /tmp/wb-test/ mkdir /tmp/wb-test/ cd /tmp/wb-test/ wget -O exercicio7.jpg http://angg.twu.net/2021.1-C2/20210716_exercicio_7.jpg whiteboard -m 1.0 exercicio7.jpg exercicio7.png xzgv exercicio7.png whiteboard -m 0.5 exercicio7.jpg exercicio7.png xzgv exercicio7.png whiteboard -m 0.25 exercicio7.jpg exercicio7.png xzgv exercicio7.png Thanks in advance, thanks a lot for whiteboard, and if there's a mailing list for discussing these things please tell me... Cheers, Eduardo Ochs http://angg.twu.net/ Answer: Hello Eduardo, Use a -f value that is larger than the size of the dots. Test: # (find-angg "bin/whiteboard") rm -Rv /tmp/wb-test/ mkdir /tmp/wb-test/ cd /tmp/wb-test/ wget -O exercicio7.jpg http://angg.twu.net/2021.1-C2/20210716_exercicio_7.jpg whiteboard -m 1.0 exercicio7.jpg exercicio7.png xzgv exercicio7.png whiteboard -m 1.0 -f 15 exercicio7.jpg exercicio7.png xzgv exercicio7.png whiteboard -m 1.0 -f 30 exercicio7.jpg exercicio7.png xzgv exercicio7.png whiteboard -m 1.0 -f 45 exercicio7.jpg exercicio7.png xzgv exercicio7.png ##### # # textcleaner # 2021aug06 # ##### # «textcleaner» (to ".textcleaner") # http://www.fmwconcepts.com/imagemagick/textcleaner/index.php # http://www.fmwconcepts.com/imagemagick/textcleaner/images/abbott2.jpg # http://www.fmwconcepts.com/imagemagick/textcleaner/images/abbott3_g_stretch_f25_o20_t30_s1_u_T_p20.jpg # (find-angg "bin/textcleaner") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # (find-fline "/tmp/tc/") rm -Rv /tmp/tc/ mkdir /tmp/tc/ cd /tmp/tc/ wget http://www.fmwconcepts.com/imagemagick/textcleaner/images/abbott2.jpg textcleaner -g -e stretch -f 25 -o 20 -t 30 -u -s 1 -T -p 20 \ abbott2.jpg abbottn.jpg # (find-fline "/tmp/tc/") # (find-fline "/tmp/tc/abbott2.jpg") # (find-fline "/tmp/tc/abbottn.jpg") * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) rm -Rv /tmp/tc/ mkdir /tmp/tc/ cd /tmp/tc/ cp -iv ~/tmp/bortolossi_p296.jpg . textcleaner -f 50 -o 10 bortolossi_p296.jpg x.png textcleaner -f 50 -o 10 bortolossi_p296.jpg y.jpg djvuize x.pdf djvuize y.pdf # (find-fline "~/tmp/" "bortolossi_p296.jpg") # (find-fline "/tmp/tc/") ##### # # extract # 2021aug19 # ##### # «extract» (to ".extract") # https://gigi.nullneuron.net/gigilabs/extracting-a-region-of-an-image-with-imagemagick/ # (find-man "1 convert") # https://imagemagick.org/script/command-line-options.php#extract magick -size 16000x16000 -depth 8 -extract 640x480+1280+960 \ image.rgb image.png", # (find-fline "~/shelisp/shelisp.el") * (eepitch-bash) * (eepitch-kill) * (eepitch-bash) * (ee-kill-image-buffers) # (find-fline "~/tmp/" "bortolossi_p296.jpg") # (find-fline "/tmp/extract/") rm -Rv /tmp/extract/ mkdir /tmp/extract/ cd /tmp/extract/ cp -iv ~/tmp/bortolossi_p296.jpg a.jpg function extr0 () { convert -extract $1 a.jpg b_$1.jpg; } function extr1 () { if [[ ! -e b_$1.jpg ]]; then extr0 $1; fi; } function extr2 () { extr1 $1; find_fline_here b_$1.jpg; } # find_fline_here a.jpg extr0 100x200+300+400 extr1 100x200+300+400 extr1 100x200+300+400 extr1 400x500+300+400 extr1 400x500+200+400 extr1 400x500+100+400 extr1 400x500+110+400 extr1 400x500+120+400 extr1 400x500+130+400 extr1 400x500+140+400 extr1 400x500+140+410 extr1 400x500+140+420 extr1 400x500+140+430 extr1 400x500+140+440 # (find-fline "/tmp/extract/") if [[ ! -e a.jpg ]]; then echo not found; fi if [[ ! -e b.jpg ]]; then echo not found; fi function find_fline_here { emacsit "(progn (eek \"M-o\") (find-fline \"$PWD/$1\"))"; } echo emacsit "(find-fline \"$PWD/a.jpg\")" emacsit "(find-fline \"$PWD/a.jpg\")" ##### # # pdf-to-animated-gif # 2023dec31 # ##### # «pdf-to-animated-gif» (to ".pdf-to-animated-gif") # (find-TH "2023-eev-git") # (find-LATEXfile "2023loeliger.tex" "drafturl") # file:///home/edrx/IMAGES/2023loeliger.gif # https://www.imagemagick.org/discourse-server/viewtopic.php?t=25640 # https://apple.stackexchange.com/questions/86177/imagemagick-convert-multipage-pdf-to-animated-gif # https://phyletica.org/imagemagick/ * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) convert -alpha deactivate -verbose -delay 50 -loop 0 -density 200 \ ~/LATEX/2023loeliger.pdf /tmp/2023loeliger.gif convert -alpha deactivate -verbose -delay 50 -loop 0 -density 100 \ ~/LATEX/2023loeliger.pdf /tmp/2023loeliger.gif convert -alpha deactivate -verbose -delay 50 -loop 0 -density 50 \ ~/LATEX/2023loeliger.pdf /tmp/2023loeliger.gif convert -alpha deactivate -verbose -delay 50 -loop 0 -density 75 \ ~/LATEX/2023loeliger.pdf /tmp/2023loeliger.gif # file:///tmp/2023loeliger.gif # file:///home/edrx/IMAGES/2023loeliger.gif cp -v /tmp/2023loeliger.gif ~/IMAGES/ makeL makeR * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # Upload pdf cd ~/LATEX/ scp 2023loeliger.pdf $LINP/LATEX/2023loeliger.pdf scp 2023loeliger.pdf $LINS/LATEX/2023loeliger.pdf * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) PDF=/home/edrx/LATEX/2024type-inference.pdf TMPGIF=/tmp/2024type-inference.gif IMGGIF=/home/edrx/IMAGES/2024type-inference.gif f () { convert -alpha deactivate -verbose -delay $1 -loop 0 -density $2 \ ~/LATEX/2024type-inference.pdf /tmp/2024type-inference.gif } f 50 75 # file:///tmp/2024type-inference.gif # file:///home/edrx/IMAGES/2024type-inference.gif # Upload pdf and gif cd ~/LATEX/ scp 2024type-inference.pdf $LINP/LATEX/2024type-inference.pdf scp 2024type-inference.pdf $LINS/LATEX/2024type-inference.pdf cd /tmp/ scp 2024type-inference.gif $LINP/IMAGES/2024type-inference.gif scp 2024type-inference.gif $LINS/IMAGES/2024type-inference.gif # http://anggtwu.net/LATEX/2024type-inference.pdf # http://anggtwu.net/IMAGES/2024type-inference.gif ;; (find-esetkey-links (kbd "<f7>") 'bury-buffer) (define-key eev-mode-map (kbd "<f7>") 'bury-buffer) # (find-sh "grep-aptavail -P imagemagick") https://answers.launchpad.net/ubuntu/+source/tclmagick/+question/125936 http://www.imagemagick.org/script/api.php http://tclmagick.sourceforge.net/ # (find-es "tcl" "tclmagick-using") # (find-es "tcl" "tclmagick-using" "resize") # (find-zsh "availabledebs | sort | grep libmagick") # (find-udw3m "imagemagick/www/command-line-options.html#despeckle") # (find-udw3m "imagemagick/www/command-line-options.html#median") # http://en.wikipedia.org/wiki/Median_filter # http://en.wikipedia.org/wiki/Speckle_noise # http://en.wikipedia.org/wiki/Salt_and_pepper_noise # http://en.wikipedia.org/wiki/Gaussian_blur https://mazzo.li/posts/lanczos.html https://computergraphics.stackexchange.com/questions/14143/search-for-special-image-difference-metric # Local Variables: # coding: utf-8-unix # End: