Jump to my Home Page Send me a message Check out stuff on GitHub Check out my photography on Instagram Check out my profile on LinkedIn Check out my profile on reddit Check me out on Facebook

Mitch Richling: Desktop Backgrounds

Author: Mitch Richling
Updated: 2022-09-22

Table of Contents

I use these images for computer desktop backgrounds and screen savers. They are all based on photographs I have taken, images I have generated with POVray, or images I have simply drawn. I grant unlimited right to use them so long as you do not make any money from them.

1. Biomorph Fractals

These were created with one of the example programs distributed with the MRaster package.

biomorph2LP_1920x1080.png biomorph2LP_3840x2160.png biomorph2LP_7680x4320.png
biomorph2L_1920x1080.png biomorph2L_3840x2160.png biomorph2L_7680x4320.png

2. Circle Art

These were created with one of the example programs distributed with the MRaster package. The basic idea of how to generate these kinds of images is described here.

circles01_2736x1824.png circles02_2736x1824.png circles03_2736x1824.png circles04_2736x1824.png circles05_2736x1824.png circles06_2736x1824.png circles07_2736x1824.png circles_002v2_3840x2160.png circles_006v2_3840x2160.png circles_007v2_3840x2160.png circles_010v2_3840x2160.png circles_012v2_3840x2160.png circles_013v2_3840x2160.png circles_014v2_3840x2160.png circles_015v2_3840x2160.png circles_017v2_3840x2160.png

3. Newton Fractals

These were created with one of the example programs distributed with the MRaster package.

newton4_ca_3840x2160.png newton4_cb_3840x2160.png newton4_cc_3840x2160.png newton4_cd_3840x2160.png
newton4_cs1_3840x2160.png

4. Peter de Jong Map (Attractor)

For more information about how this image was made, look here

peterCrop01_3840x2160.png

5. Trees

For more information about how the first two images were made, look here.

flatTreeWithBubbles_3840x2160.png spider_tree_3840x2160.png tangleTref_3840x2160.png

6. Photography

Just a few photographs I have taken over the years.

mph_D2C_0897_octa_1661x1046.png mph_D2C_0957_frog_1680x1050.png mph_D2C_1556_frn_1680x1050.png mph_D2C_1600_gryLef1_1680x1050.png mph_D2C_2418_loveDrop_1680x1050.png mph_D2C_2458_blueFish_1680x1050.png mph_D2C_3765_cab2_1680x1050.png mph_D2C_3765_cat_cab2_1680x1050.png mph_D2C_3954_cab1_jag_1680x1050.png mph_D2C_3954_jag_1680x1050.png mph_DSC_4390_mcat_1680x1050.png mph_DSC_6169_grnSnk_1680x1050.png mph_bbug_1280x854.png mph_bjeans_1280x854.png mph_dfly_1280x854.png mph_dragon2_1280x1024.png mph_dragon2_1280x854.png mph_frn1_1680x1050.png mph_frn2_1680x1050.png mph_fuzPoo_1280x854.png mph_lskin_green_1280x854.png mph_moss_1280x854.png mph_moth_1280x854.png mph_muMon2_1280x854.png mph_muMon_1280x854.png mph_prpl_flower_1280x854.png mph_red_flower_1280x854.png mph_speed_1236x982.png mph_spider_1280x854.png mph_sqrlBlr_1280x854.png mph_worm01_1280x1024.png mph_yellow_flower_1280x854.png

7. Simpele Vector Art

Yes. I drew these. The nice thing is that desktop backgrounds of any size may be rendered from the original vector artwork with a command like this:

convert -density 600 -resize 7680x4320^ foo.svg -gravity Center -extent 800x600 foo_7680x4320.png

happy3_1920x1080.png happy3_3840x2160.png happy3_7680x4320.png
moose_1920x1080.png moose_3840x2160.png moose_7680x4320.png
turtle_1920x1080.png turtle_3840x2160.png turtle_7680x4320.png

8. Single Pixel Images

Some systems do not allow one to simply set the background to a color; however, they do have the option to setting the background to an image. So if you want a single color background, you can simply use a 1 pixel image.

This little bit of bash created the 1 pixel images below:

for c in \#448B7D LightSlateGray LightSteelBlue Goldenrod DimGray LightGoldenrod black white red; do 
  convert -size 1x1 xc:"$c" `echo "1pix_${c}_1x1.png" | sed 's/#//'`; 
done

1pix_448B7D_1x1.png 1pix_DimGray_1x1.png 1pix_Goldenrod_1x1.png 1pix_LightSlateGray_1x1.png 1pix_LightSteelBlue_1x1.png 1pix_black_1x1.png 1pix_red_1x1.png 1pix_white_1x1.png

9. About this page

This web page is semi-automated in that I have a script that processes the desktop backgrounds from where they live in my home directory into a form for this web page. The full sized background images are copied, converting to a truecolor PNG if necessary. Then thumbnails are created – each is padded to a uniform size, annotated with the resolution of the full sized version, and a border is added. While doing all this work the script also checks to make sure each image is in the index.org file that generates this HTML page. Here is the script:

#!/usr/local/bin/ruby

# Print stuff to STDOUT immediatly -- important on windows
$stdout.sync = true

genAll = false

homeDir=File.expand_path('~/')
if( !(homeDir.nil?) && (File.exists?("#{homeDir}"))) then
  if(File.exists?("#{homeDir}/core")) then
    if(File.exists?("#{homeDir}/world/WWW/site/SS/desktops/")) then
      index_data = open("#{homeDir}/world/WWW/site/SS/desktops/index.org") { |f| f.read }
      (Dir.glob("#{homeDir}/core/backgrounds/myArt/*.png") + 
       Dir.glob("#{homeDir}/core/backgrounds/myPhotos/*")  + 
       Dir.glob("#{homeDir}/core/backgrounds/onePixel/*")).sort.each do |d| 
        STDOUT.puts("WORKING ON #{d}")
        fileExt  = File.extname(d)
        fileName = File.basename(d, fileExt)
        tmbFile = "#{homeDir}/world/WWW/site/SS/desktops/tpics/#{fileName}.png"
        imgFile = "#{homeDir}/world/WWW/site/SS/desktops/cpics/#{fileName}.png"
        if (genAll || ( !(FileTest.exist?(imgFile)))) then
          if(fileExt == '.png') then
            STDOUT.puts("  FULL SIZE COPY")
            system("cp #{d} #{imgFile}")
          else
            STDOUT.puts("  FULL SIZE CONVERT")
            system("convert #{d} -colorspace rgb #{imgFile}")
          end
        end
        if (genAll || ( !(FileTest.exist?(tmbFile)))) then
          STDOUT.puts("  THUMBNAIL")
          size = `identify #{d}`.split(/\s+/, 4)[2]
          if (size.match(/^\d+x\d+$/)) then
            system("convert -define png:size=300x300 #{imgFile} -depth 8 -type TrueColor -thumbnail 200 -background white -gravity Center -extent 220x220 -gravity NorthWest -draw \"text 2,2 '#{size}'\" -bordercolor #A5573E -border 2x2 #{tmbFile}")
          else 
            STDOUT.puts("   WARNING: identify did not work: #{size.inspect}..")
          end
        end
        if( !(index_data.match(fileName))) then
            STDOUT.puts("   WARNING: Image not found in index.org")
        end
      end
    else
      STDOUT.puts("ERROR: Could not find desktops subsite in world!")
    end
  else
    STDOUT.puts("ERROR: Could not find core!")
  end
else
  STDOUT.puts("ERROR: Could not find home!")
end