Compare commits

...

2 Commits

Author SHA1 Message Date
e534d24e52
update imagemagick commands 2025-01-16 21:52:54 +01:00
5e07604f4b
update mlocate to plocate 2025-01-14 05:05:36 +01:00
2 changed files with 48 additions and 27 deletions

View File

@ -22,20 +22,41 @@ Also `which` shows where a binary file (the program) is,
which cmus
```
# Quick Search for Files
# Search Instantly with `plocate`
You'll need to set up `locate` for this by installing `mlocate`.
`mlocate` needs a list of all files on the machine, so run:
You can search every file on the computer instantly by installing `plocate`.
Once installed, run `sudo updatedb` to create the database of (nearly) every file on the computer.
Check how big the database is:
```bash
du -h /var/lib/plocate/plocate.db
```
Once you have the database, you can find nearly any file instantly.
- Search for gifs: `locate .gif`
- Search for gifs in the `/usr/` directory: `locate /usr/ .gif`
- Search for jpg images with 'dog' or 'Dog' in the name: `locate -i dog jpg`
- Search for videos: `plocate --regex '.mp4$|.mkv$|.wmv$|.webm$|.mov$|.avi$'`
For best results, run `updatedb` regularly, perhaps in [crontab](../system/cron.md).
## Search More Places
`plocate` will not search `/tmp/`, because nobody cares about those files, and won't search inside `/mnt/`, because that's where USB sticks get mounted, so the files keep changing as USB sticks come and go.
Change where `plocate` searches by editing the configuration file at `/etc/updatedb.conf`.
By default, the `/mnt` directory is 'pruned' from the database.
So if you want to search `/mnt` for videos, remove the word `/mnt` from the configuration file.
```bash
cat /etc/updatedb.conf
sudo sed 's#/mnt/##' /etc/updatedb.conf
sudo updatedb
plocate --regex '.mp4$|.mkv$|.wmv$|.webm$|.mov$|.avi$'
```
Then to find a file called 'my-cats.jpg', run:
```bash
locate cats
```
For best results, run `updatedb` regularly, perhaps in crontab.

View File

@ -6,35 +6,35 @@ tags: [ "Documentation", "Vision" ]
Convert jpg to png.
```bash
convert image.jpg image.png
magick image.jpg image.png
```
```bash
convert image.jpg -quality 50 image.jpg
magick image.jpg -quality 50 image.jpg
```
'Quality' must be from 1 to 100.
```bash
convert -resize 50% image.jpg image2.jpg
magick -resize 50% image.jpg image2.jpg
```
Resizing only changes jpegs. Change a png with:
```bash
convert input.png png8:out.png
magick input.png png8:out.png
```
# Invert Colours
```bash
convert input.jpg output.jpg -negate
magick input.jpg output.jpg -negate
```
# Make Images Smaller
```bash
convert image.jpg -resize 25% output.jpg
magick image.jpg -resize 25% output.jpg
```
@ -43,13 +43,13 @@ convert image.jpg -resize 25% output.jpg
This is generally used for transparent images.
```bash
convert -trim image.png output.png
magick -trim image.png output.png
```
Make the white of an image transparent.
```bash
convert -transparent white -fuzz 10% input.png output.png
magick -transparent white -fuzz 10% input.png output.png
```
The 'fuzz' option tells the computer that 'close to white' is fine. You might want to use 20% or higher fuzz.
@ -58,7 +58,7 @@ The 'fuzz' option tells the computer that 'close to white' is fine. You might w
## Dropshadow
```bash
`convert <input file> \( +clone -background black -shadow 50x8+0+5 \) +swap -background none -layers merge +repage <output file>`
`magick <input file> \( +clone -background black -shadow 50x8+0+5 \) +swap -background none -layers merge +repage <output file>`
```
@ -70,13 +70,13 @@ mogrify -format png *.jpg
# Printing Words
# Mass convert
# Mass magick
This script converts all jpg files in a directory to svg.
This script magicks all jpg files in a directory to svg.
```
for i in *jpg
do convert "$i" $(ls "$i" | sed s#jpg\$#svg#)
do magick "$i" $(ls "$i" | sed s#jpg\$#svg#)
done
```
@ -86,7 +86,7 @@ The above script has crappy results.
It's better to use potrace.
```
$convert -flatten input.jpg output.ppm
$magick -flatten input.jpg output.ppm
$potrace -s output.ppm -o svgout.svg
```
@ -97,19 +97,19 @@ $potrace -s output.ppm -o svgout.svg
See your installed fonts:
```bash
convert -list font
magick -list font
```
Make an image showing day of the week:
```bash
convert -fill blue -font Sauce-Code-Pro-Semibold-Nerd-Font-Complete-Mono -gravity center -pointsize 79 label:$(date +%A) day.png
magick -fill blue -font Sauce-Code-Pro-Semibold-Nerd-Font-Complete-Mono -gravity center -pointsize 79 label:$(date +%A) day.png
```
Make a meme:
```bash
convert inputmemeimage.png -font impact -fill white -pointsize 84 -stroke black -strokewidth 3 -gravity north -annotate +0+20 'TOP MEME TEXT' -gravity south -annotate +0+20 'BOTTOM MEME TEXT' outputmemeimage.png
magick inputmemeimage.png -font impact -fill white -pointsize 84 -stroke black -strokewidth 3 -gravity north -annotate +0+20 'TOP MEME TEXT' -gravity south -annotate +0+20 'BOTTOM MEME TEXT' outputmemeimage.png
```