[HN Gopher] Show HN: 4K Desktop Wallpaper Generator
___________________________________________________________________
Show HN: 4K Desktop Wallpaper Generator
Author : roytanck
Score : 194 points
Date : 2021-11-28 12:55 UTC (10 hours ago)
(HTM) web link (tanck.nl)
(TXT) w3m dump (tanck.nl)
| petepete wrote:
| Works beautifully, I've saved a few for my rotation. Thanks!
| sahiljajodia01 wrote:
| This is amazing. However, how much is the probability for it to
| generate the same wallpaper twice?
| roytanck wrote:
| Almost infinitely small. There are many random values used to
| create the image, and most of those have millions of possible
| values.
| eins1234 wrote:
| This is really cool! Thanks for sharing!
|
| Though one question popped up in my mind while looking at this...
| Given the trend of ever increasing screen resolutions with no end
| in sight, why don't OSes support using vector images (svg, etc)
| as wallpapers?
| hnarn wrote:
| Your claim that no operating systems support this seems
| extremely unlikely. I'm pretty much certain there are multiple
| Linux desktop environments that support vector based background
| images.
| coolso wrote:
| Yeah but the problem is they don't otherwise support a
| convenient desktop experience. Maybe next year will be the
| year.
| hnarn wrote:
| >they don't otherwise support a convenient desktop
| experience
|
| I have no idea what this means.
| artificial wrote:
| Everyone assumes everyone shares the same values. I think
| this person is dissatisfied with the UX on Linux.
| hnarn wrote:
| People conflating subjective opinion with objective fact
| is in my opinion one of the most frustrating things about
| Internet discourse today.
| arthurcolle wrote:
| no you're wrong
| roytanck wrote:
| This wallpaper generator was written on a Raspberry Pi
| running Ubuntu. Which I use because of its highly
| convenient desktop experience ;).
| ExtraE wrote:
| Still, the question remains. Why don't many/most/all?
| smoldesu wrote:
| My current desktop has an SVG as the wallpaper for my main
| display and a webp on the second one. I guess I could switch
| them over to a png or something, but I'm too lazy and I haven't
| noticed any issues with it.
| OJFord wrote:
| Nice! Feature suggestion: an (optional) colour picker would be a
| nice touch, so you can pick (or perhaps enter #RGB) one that
| should appear and the others are then a fitting palette. Occurred
| to me because I was refreshing through a few, liked the colours
| on one, but not so much the pattern. (Perhaps alternative
| implementation would be a 'hold colour palette' or 'hold pattern'
| toggles, so only the other varies.)
| roytanck wrote:
| Thank you. Those are great suggestions, but I also like the
| simplicity of it being completely random. Perhaps I'll do an
| interactive wallpaper designer at some point, where you're more
| in control.
| bartvk wrote:
| What could be nice, and not require user input, is detect
| whether the user has dark mode enabled, and then use that as
| an input variable.
| rob_c wrote:
| Cool!
|
| I wonder is the code public or just page source?
|
| (Will have to check the page when not on mobile)
| roytanck wrote:
| The code is on Github: https://github.com/roytanck/wallpaper-
| generator
|
| Please let me know if you create something nice with it.
| grech wrote:
| Love the minimalist execution. Personally, I consider your tool
| having no user-facing options a plus (less decision making for me
| and excitement from complete randomness). I just set one of the
| wallpapers as my desktop background. Thank you
| enz wrote:
| Very nice. I now use one as my wallpaper. It's pretty satisfying
| to know I have a uniquely generated wallpaper ;)
| ajross wrote:
| Ditto. It's been a while with the same gradient. Reloaded a few
| times to find one with the general color space I wanted. Boom,
| done. I love it.
|
| (Needs a tip jar or something though.)
| masteruvpuppetz wrote:
| Can somebody recommend a free low poly background picture
| generator? Example https://trianglify.io/
| marban wrote:
| Come on -- in the era of NFTs, $8 for an SVG is a steal.
| pimlottc wrote:
| I miss the old days of the internet when people would make
| something like this just for fun, not to make a buck.
| bit-101 wrote:
| Nice work!
| notRobot wrote:
| Also see related: the soft landscapes twitter account:
| https://mobile.twitter.com/softlandscapes
| roland35 wrote:
| My favorite site for wallpapers is interface lift, but just note
| that the site does occasionally go down for months at a time!
|
| https://interfacelift.com/
| fuzzy2 wrote:
| Oh, it's back? I was under the impression it was down for,
| like, two years.
| podiki wrote:
| Yes, has some fantastic images, but seems nothing new for a few
| years now.
| qrohlf wrote:
| Not entirely dissimilar to my own pattern generation tool,
| https://trianglify.io/
|
| How are you doing the color palettes? Is it fully random or using
| some kind of picker algorithm?
| roytanck wrote:
| Completely random. It picks a hue value (0-360) and then adds
| or subtracts a second random value from this for each layer.
| The maximum value of this increment is relatively small, so the
| colors are usually similar within the same image.
| Starmina wrote:
| Love it.
| swayvil wrote:
| Tasteful. Minimal. You are truly owning the zone.
| [deleted]
| oceankid wrote:
| Super nice! Save doesn't work on Safari MacOS?
| roytanck wrote:
| Unfortunately, no. There seems to be some issue with saving
| canvas elements as PNG on mobile browsers. Since the generated
| images are landscape aspect anyway, I didn't spend a lot of
| time figuring out exactly what's causing this.
| dylan604 wrote:
| macOS is not a mobile OS
| roytanck wrote:
| My bad. Seems that a number of browsers block saving canvas
| elements as a security precaution. For now, I can only
| recommend trying a different browser as a workaround.
| kkruglov wrote:
| please, consider adding some kind of download button or
| something for us, poor safari users <3
| arendtio wrote:
| Nice idea.
|
| Ideas for optimization: - use some kind of seed from a URL, so
| that people can share them. - How about multi-monitor setups?
|
| The multi-monitor setup is something I struggled a bit. My two
| monitors are stacked vertically. So I use SVG images, render them
| in 2x4k height + 80px or so and cut the relevant parts out.
| thamer wrote:
| I would also second the idea of putting the seed in the URL,
| even with just an anchor link so that all processing is done in
| the browser. So if someone visits
| https://tanck.nl/wallpaper/#12345, use this number as the seed.
| You could also add a link under the image.
|
| _edit:_ here 's a hacky way to do it, since you can't seed
| Math.random() in JavaScript; add this at the start of the
| "draw()" function. const url = new
| URL(location.href); const match =
| /#([0-9]+)$/.exec(url.hash); if (match) {
| var seed = parseInt(match[1]); Math.random =
| function() { var x = Math.sin(seed++) * 10000;
| return x - Math.floor(x); }; }
|
| Based on a StackOverflow answer to the commonly-asked question
| of how to seed the PRNG in JavaScript, by all means not a
| perfect solution but appropriately concise for this short
| script: https://stackoverflow.com/a/19303725
| Tepix wrote:
| Instead of a seed you could create NFTs for every wallpaper to
| finance the _insane_ server cost and for flexing of course ;-)
| roytanck wrote:
| The width and height can be changed in the code. If you also
| increase the number of layers (vertical) and line segments
| (horizontal) accordingly, you should be able to get similar
| results at different resolutions/aspects.
| FredPret wrote:
| This is just brilliant. I've been looking for ways to generate
| spanning wallpapers for two 4k screens, or two 4k's + a laptop
| screen. Looks like this could be adapted for that.
| bee_rider wrote:
| A fun alternative would be to run this on the desktop and
| generate a new wallpaper every time your computer starts up (This
| is not a feature request, though -- you've had plenty of those
| here already, and since you've helpfully released the code under
| GPL, I'm sure anyone interested could easily do this conversion
| on their own end).
| peanut_worm wrote:
| You can't download the image on iOS
| roytanck wrote:
| This unfortunately, is a known issue. I tried adding a download
| button, but that also only worked on desktop. Probably some
| browser policy thing. The same is true for Android (Chrome and
| Firefox Nightly).
| 58x14 wrote:
| I was able to download the image on iOS just now, using
| Firefox on iOS.
| 58x14 wrote:
| It showed up in my camera roll immediately, which seemed to
| ruin the joke until I read the explanation.
| oefrha wrote:
| You can convert the canvas to a Blob with
| HTMLCanvasElement.toBlob(), then create a blob URL from that
| with URL.createObjectURL(). You can then replace the canvas
| with an <img src="blob://...">, which can be long press
| saved; add a download button linking to that blob URL; or
| whatever. Works on all non-ancient mobile browsers I've
| tested.
|
| Do note that Firefox's privacy.resistFingerprinting can block
| you from reading canvas image data, giving you garbage
| instead, and the permission prompt is basically unnoticeable
| if the user isn't actively looking for it.
| kevmo314 wrote:
| Love the simple, readable source compared to the compiled stuff
| these days :) https://tanck.nl/wallpaper/wallpaper.js
| stemlord wrote:
| Anyone else remember digitalblasphemy.com? Good times
| countmora wrote:
| On Safari (macOS) it is as impossible to download this easy-to-
| download-picture as it is possible to download the impossible-to-
| download-picture[1] from yesterday.
|
| [1] https://news.ycombinator.com/item?id=29358880
| roytanck wrote:
| I created a little web page (<10kB) that generates a random 4K
| (3840*2160px) wallpaper image using Javascript and the <canvas>
| element. Right-click to save the image (desktop only for now).
|
| No two images are the same. You may need a few refreshes to get
| an interesting result.
|
| Code: https://github.com/roytanck/wallpaper-generator
| rcarmo wrote:
| Interesting. I used around 30-40 wallpapers generated through
| Trianglify until recently, this has a lot of potential.
| naikrovek wrote:
| Tapet for Android is another example of this, and could serve as
| great inspiration if you need any.
___________________________________________________________________
(page generated 2021-11-28 23:00 UTC)