Create application icons using ImageMagick

(You: How can I create different resolution png files from a png file using imagemagick convert ?)

ChatGPT: To create a different resolution version of a PNG file using ImageMagick’s convert command, you can use the -resize option followed by the desired dimensions. For example, the following command will create a version of the input file that is 50% of the original size:

convert input.png -resize 50% output.png

Alternatively, you can specify the width and height in pixels using the WxH format. For example, the following command will create a version of the input file that is 200 pixels wide and 100 pixels tall:

convert input.png -resize 200x100 output.png

You can also use the -density option to specify the resolution of the output file in pixels per inch (PPI). For example, the following command will create a version of the input file with a resolution of 300 PPI:

convert input.png -density 300 output.png

Keep in mind that resizing or changing the resolution of an image can result in loss of quality, depending on the original resolution and the method used to scale the image.

(You: I need to create icons for the following height and width.)

72x72
96x96
128x128
144x144
152x152
192x192
384x384
512x512

The source file is original-round.png and I want to write the output in assets/icons directory

ChatGPT: To create icons of different sizes from a single source file using ImageMagick’s convert command, you can use a loop to iterate over the different dimensions and generate the corresponding output files.

For example, the following script will create icons with the dimensions specified in your question, using the file original-round.png as the input and saving the output files in the assets/icons directory:

#!/bin/bash

# Set the list of dimensions
dimensions=(72x72 96x96 128x128 144x144 152x152 192x192 384x384 512x512)

# Loop through the dimensions
for dimension in "${dimensions[@]}"; do
  # Generate the output file name
  output_file="assets/icons/icon-$dimension.png"

  # Run the convert command
  convert original-round.png -resize $dimension $output_file
done

This script will generate the following files:

- assets/icons/icon-72x72.png
- assets/icons/icon-96x96.png
- assets/icons/icon-128x128.png
- assets/icons/icon-144x144.png
- assets/icons/icon-152x152.png
- assets/icons/icon-192x192.png
- assets/icons/icon-384x384.png
- assets/icons/icon-512x512.png

Keep in mind that resizing or changing the resolution of an image can result in loss of quality, depending on the original resolution and the method used to scale the image.