What's the smallest file size for a 1 pixel image?
shkspr.mobi
shkspr.mobi
User: Hello, browser, I'd like to create an svg object.
Browser: Now, hold on just one second. Is this the zeroth time you'd like to instantiate a custom xml object that you decided to name with the three letters 's', 'v', and 'g'? Or is this the 8,387,245,123rd time you'd like to instantiate a scalable vector graphics object?
User: sigh
Browser: OMG guess what? Thanks to the magic of universal resource locators and XML namespaces, I am able to parse the answer directly from the image data you sent me! Lemme check. Yup! The image itself holds the answer! Aren't computers fascinating?
User: sigh
Browser: Now I can state unambiguously that this is indeed the 8,387,245,123rd you want me to display an svg image in a web page. Glad we got that resolved!
User: click
Browser: Oops, relayout means you ended up clicking on an ad. Sorry, no takebacks.
Here's a 1x1 red pixel: https://raw.githubusercontent.com/mathiasbynens/small/master...
Check out the rest of the repo! This author, seemingly named Mathias Bynens, got interested in the smallest possible file in various formats.
i was impressed back then on his repo of bigint polyfill
P1
1 1
0
EDIT: I see there's a comment section already there with lots of interesting suggestions.[1] https://twitter.com/jonsneyers/status/1381894108067868672
> a single pixel jxl image is 19 to 20 bytes depending on the color
Magic Number: 66 61 72 62 66 65 6c 64 (identifies the file as a Farbfeld image)
Width (in bytes): 00 00 00 01 (specifies the image width)
Height (in bytes): 00 00 00 01 (specifies the image height)
First Pixel Data: ff ff ff ff ff ff ff ff (represents the color data for the first pixel)Instead, you can use a data URL, though you'll be wasting bytes specifying the mime type and base64 encoding the rest.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_...
The primary way we used it was as the body of a tracking gif, returned as binary. But we also used it as a spacer here and there inline in HTML using the data URI. When embedding in HTML the file size is mostly relevant for brevity.
Wow, that takes me way back.
EDIT: oh right, it was an XML/XHTML comment thing.
I use this embedded SVG for the logo on a page:
<img id="logo" src='data:image/svg+xml;utf8,%3Csvg%20width%3D%22100%25%22%20height%3D%22100%25%22%20viewBox%3D%220%200%2054%2050%22%20version%3D%221
I think I recall using a base64 encoded png at one point for a different project in the same way.
Minimizing bytes was not the reason for this. It was to tidy up the directory listing as this html was used as a self contained local file. I didn’t want a separate logo file hanging around and risk getting lost.
echo -n 'P5 1 1 1 ' > a.pgm
10 bytes?