Babble Software Text Dolphin Info Image Gallery Forums HOME

NewPic - v113

[Screenshot] [Screenshot]

If this software is cool or useful to you, consider a small donation to the programmer! There is *no* need to pay to download and enjoy this software! But it's a lot of work and I do it in my so-called spare time, so a couple of dollars would be really appreciated! :)
(Alternately, there's my Amazon Wishlist)

Click here to download:
0 downloads this week
553 downloads total
windows.gif Program and documentation (417.2 k)  



This tool randomly changes your Windows backdrop from a collection of images. It's also capable of stitching multiple images together to better fill a large desktop (see screenshot above). Command-line application which is Active Desktop aware. Includes options to improve use with multi-monitor. Also works fine when processing non-desktop images, for instance, to stitch together discrete images for texture pages, and includes options to check for duplicates (including flipped duplicates) and to output a simple textual map file.

Use: NewPic [arg=value, arg=value, etc]
Chooses a random picture, resizes it with aspect,
and writes it as a BMP to the output filename. Input supports
BMP, GIF, JPG, PNG, PCX, TIF, PSD and TGA. Sends Windows a 'backdrop
changed' message so that you can use it to change a Windows backdrop. ;)
If no parameters are specified, will size to primary monitor size, in the
NewPic folder, save it as backdrop.bmp, and set the windows backdrop.
path=[path to pictures]
map=[path to mosaic map [file|x|y|w|h|origw|origh|offx|offy]]
outwidth=[output width]
outheight=[output height]
outfile=[output filename]
fillbuf=[output filename - debugging use]
maxscale=[maximum permitted scale to fit - smaller images are discarded]
minscale=[minimum permitted scale to fit - larger images are discarded]
minwidth=[minimum input width]
minheight=[minimum input height]
minmosaicx=[minimum space to fit mosaic width (default 160)]
minmosaicy=[minimum space to fit mosaic height (default 120)]
maxmosaicx=[maximum width of one mosaic image]
maxmosaicy=[minimum height of one mosaic image]
maxerr=[maximum errors per file attempt (default 6)]
hwnd=[window handle to render to, in decimal]
filedelay=[time in milliseconds between each file in a mosaic (max 10000)]
background [sets windows background if present]
color [rejects pictures that are not color]
filename [overlay filename]
alwaysfilename [overlay filename, even on very small images]
mosaic [attempts to fill output with multiple images]
skipblank [skips images that are a single solid color]
noscale [don't scale - large images will be skipped and overrides minmosaic]
stretch [stretch final image to fit, ignoring aspect and noscale]
sequential [mosaic is built of sequential images rather than all random]
biggestfirst [biggest images are added first - short lists only]
smallestfirst [smallest images are added first - short lists only]
bigxfirst [In mosaic mode, add the widest images (x) first]
bigyfirst [In mosaic mode, add the tallest images (y) first]
smallxfirst [In mosaic mode, add the narrowest images (x) first]
smallyfirst [In mosaic mode, add the shortest images (y) first]
firstfile [will start with first file in list (ascii sort)]
nodupes [will avoid placing duplicate images (slow)]
checkflip [will avoid placing flipped images (slow)]
randomfill [fill mosaic randomly rather than largest blocks first]
firstfill [fill mosaic with first found block rather than largest]
randomsize [fill mosaic with random sizes rather than best fit]
force43 [compensates for non-square pixel modes on primary monitor]
bgfirst [set the background color from the first pixel in the first pic]
pinkalpha [set transparent parts of PNG to RGB #FF00FF]
stoponerr [stop if an error occurred - note that filling a mosaic is an error]
hquadrants=[string to define quadrants horizontally]
vquadrants=[string to define quadrants vertically]
randomquads [process quadrants in a random order]
returncount [errorlevel return is number of mosaic files processed]
returnfailed [errorlevel return is number of mosaic files failed or skipped]
server [process multiple files with sync events to external app]

Last Updates (max 5)

(2009-04-20)
  • Added minscale, biggestfirst, smallestfirst, bigxfirst, bigyfirst, smallxfirst, smallyfirst, returncount, returnfailed, server, firstfill.
  • Deleted deepsearch, because I rewrote the rectangle search algorithm to work better with odd-sized images.
  • Improved GIF reader, and fixed non-mosaic mode handling.

  •  
    (2007-09-30)
  • Added concept of display quadrants - see forum or readme.txt for details

  •  
    (2007-06-10)
  • Added 'checkflip' to remove mosaic images that are duplicated but flipped horizontally, vertically, or both. The map file, if used, will output negative width and height values to indicate a flipped image.
  • added 'stoponerr' to make the program pause on exit if an error occured - I use the in a large batch file to pause if an expected image wasn't processed, so I can tell.
  • also added exit codes so that an external batch file can deal with errors itself
  • Added counts of blank and flipped images skipped to the end report line

  •  
    (2007-05-28)
  • Added switch 'skipblank' for mosaics
  • Fixed maxerr option, which didn't work

  •  
    (2007-03-19)
  • Fixed 'always pick first file' bug introduced yesterday
  • Worked around spacing bug discovered yesterday

  • Title:NewPic
    Theme:Utility
    Created:2001-06-21
    Last Update:2009-04-20
    Status:Closed

    <-- Previous software in Windows (Neko98 Patched)Next software in Windows (Bulk Rename) -->
    <-- Previous software in All (Neko98 Patched)Next software in All (Bulk Rename) -->

    Back to Software Menu


    Babble Software Text Dolphin Info Image Gallery Forums HOME

    This page belongs to tursi#at#harmlesslion.com
    Do not store in direct sunlight.
    Email addresses are provided for personal contact only. The operator of this website will not give, sell, or otherwise transfer email addresses maintained by or for this website to any other party for the purposes of initiating, or enabling others to initiate, unsolicited electronic mail messages. Personal pages on harmlesslion.com do not necessarily reflect opinions or official stances of HarmlessLion as a business, which is in itself only me anyway. ;)