Frage

Vor kurzem habe ich mein Lieblings Bild-Editor ein 1x1 schwarzes Pixel zu machen (was sich als nützlich erweisen kann, wenn man feste Boxen in HTML billig zeichnen möchten). Auch wenn ich es ein monochromes PNG gemacht, kam es aus 120 Bytes sein! Ich meine, das ist ein bisschen steil. 120 Bytes. Für ein Pixel . Ich baute es dann zu einem GIF, die die Größe auf 43 Bytes fallen gelassen. Viel besser, aber immer noch ...

Herausforderung

Die kürzeste Bilddatei oder ein Programm, dass oder erzeugt ein 1x1 schwarzes Pixel. Eine Vorlage kann sein:

  • Eine Bilddatei, die ein 1x1 schwarzes Pixel darstellt. Das gewählte Format muss in der Lage sein, größer darstellen Bilder als 1x1, und kann nicht ad-hoc (das heißt, es kann kein Bildformat sein, das Sie nur für die Code-Golf aus). Bilddateien werden von Byteanzahl gewählt werden.
  • Ein Programm, das solch eine Bilddatei erzeugt. Die Programme werden durch Zeichenzahl, wie üblich in Code Golf eingestuft werden.

Solange eine Antwort in eine dieser beiden Kategorien fällt, ist alles fair game.

Auch für Bilddateien, bitten sie in hexadezimal angeben oder entweicht, anstatt ein externes Bild Host mit: -)

War es hilfreich?

Lösung

WBMP , 5 Bytes:

00 00 01 01 00

Kann nichts vorstellen, klein

Andere Tipps

Daten URI , 83 Zeichen

data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==

Bild-Datei: 10 Bytes , in PGM Format:

P5 1 1 1\n\0

Um es zu schaffen, in Python: 40 Zeichen

 open('b.pgm', 'w').write('P5 1 1 1\n\0')

Unicode Kunst Format:

·

Das PBM -Format ist ein Schwarz-Weiß-Grafik-Format.

Eine binäre Darstellung eines einzelnen schwarzen Pixel würde 8 Bytes nehmen und es in eine Datei mit C # zu schreiben würde wie folgt aussehen:

File.WriteAllText("p.pbm", "P4 1 1 ÿ");

Logo / Turtle basic, 12 Bytes

PENDOWN FD 1

Ich kann mich nicht erinnern, wenn pendown zu pd verkürzt werden kann oder nicht, wenn ja, dass es auf 7 Byte fällt.

bash: 31 Zeichen

Das Skript eines einzelnes Pixel gif aus dem interwebs zum Download ist weniger Bytes als das einzelne Pixel selbst ...

wget http://tinyurl.com/2w97dyo

Python + PIL 68 Zeichen

from PIL import Image
Image.fromstring("P",(1,1),"\0").save("B.gif")

Postscript, 29 Bytes. nicht wirklich ein „einzelne Pixel“, aber es war ein einzelne Pixel auf meinem Vorschau-Bildschirm.

0 0 moveto .5 0 lineto stroke

Python (w / PIL) (85 Zeichen):

from PIL import Image
i=Image.new("P",(1,1))
i.putpixel((0,0),(0))
i.save("i.gif","GIF")

Ein altes Bildformat ich verwenden: 4 Byte

 01 00 00 0C

Das Format besteht aus einer Anordnung von 16-Bit-Integer (little endian):

Bit-Mapping:

0-10:  number of pixels to shade
10-11: control bits
12-15: VGA16 pidel color

Steuerbits Werte:

0: normal
1: end of line
3: end of file

SVG, 59 Zeichen:

<svg><rect width="1" height="1" style="fill:#000;"/></svg>

Unfortuntally, einschließlich Doctype es wächst auf 157 ...:

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg><rect width="1" height="1" style="fill:#000;"/></svg>

DrRacket : 23 Zeichen

#lang slideshow
(disk 1)

Ich bin ziemlich spät zu dieser Party, aber http://www.perlmonks.org/ ? node_id = 7974 eine hat allgemeine Antwort als alle bisher geschrieben ist:

## tinygif
## World's Smallest Gif
## 35 bytes, 43 if transparent

use strict;
my($RED,$GREEN,$BLUE,$GHOST,$CGI);

## Adjust the colors here, from 0-255
$RED   = 255;
$GREEN = 0;
$BLUE  = 0;

## Set $GHOST to 1 for a transparent gif, 0 for normal
$GHOST = 0;

## Set $CGI to 1 if writing to a web browser, 0 if not
$CGI = 0;

$CGI && printf "Content-Length: %d\nContent-Type: image/gif\n\n", 
  $GHOST?43:35;
printf "GIF89a\1\0\1\0%c\0\0%c%c%c\0\0\0%s,\0\0\0\0\1\0\1\0\0%c%c%c\1\0;",
  144,$RED,$GREEN,$BLUE,$GHOST?pack("c8",33,249,4,5,16,0,0,0):"",2,2,4;

XPM , 57 Bytes :

/* XPM */
static char *_x_[] = {"1 1 1 1",".c #000","."}

Wenn Sie nach dem Wikipedia-Artikel suchen, um es zu verbinden, fand ich XPM2, 26 Bytes , aber ich kann nicht geöffnet werden, dass mit jedem Programm hier.

! XPM2
1 1 1 1
. c #000
.

Rebmu : 16 Zeichen

en'PNGmkIM![1x1]

Wenn Sie es wollen, in eine Datei auf einem Argument speichern Sie passieren, dass drei weitere Zeichen, um das Programm fügt hinzu:

rebmu/args [wrAen'PNGmkIM![1x1]] %my-black-pixel.png

Das Programm Abkürzung für die folgende Rebol ist, Klammern für Klarheit hinzugefügt:

write a (encode 'png (make image! [1x1]))
<div style="height: 0; width: 1px; border-top: 1px solid #000">

Aber Positionierung es mehr dauern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top