Pregunta

Recientemente, he usado mi editor de imágenes favorito para hacer un píxel negro 1x1 (que puede ser útil cuando se desea dibujar cuadros sólidos en HTML barata). A pesar de que he hecho un PNG blanco y negro, que llegó a ser de 120 bytes! Quiero decir, eso es algo caro. 120 bytes. Para un píxel . entonces convertido a un GIF, que se redujo el tamaño a 43 bytes. Mucho mejor, pero aún así ...

Challenge

El archivo de imagen más corta o programa que es o genera a 1x1 píxel negro. Una presentación puede ser:

  • Un archivo de imagen que representa un píxel negro 1x1. El formato elegido debe ser capaz de representar imágenes de más de 1x1, y no puede ser ad-hoc (es decir, que no puede ser un formato de imagen que acaba de hacer para campo de código). Los archivos de imagen serán calificadas por cuenta de bytes.
  • Un programa que genera un archivo de imagen de este tipo. Los programas serán calificadas por recuento de caracteres, como es habitual en campo de código.

Mientras una respuesta cae en una de estas dos categorías, todo es juego limpio.

Además, para los archivos de imagen, por favor especificar en hexadecimal o se escapa en lugar de utilizar un host de imagen externa: -)

¿Fue útil?

Solución

WBMP , 5 bytes:

00 00 01 01 00

No se puede imaginar algo más pequeño

Otros consejos

URI de datos , 83 caracteres

data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==

Archivo de imagen: 10 bytes , en PGM formato:

P5 1 1 1\n\0

Para crearlo, en Python: 40 caracteres

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

Logo / tortuga básica, 12 bytes

PENDOWN FD 1

No puedo recordar si pendown se puede acortar a pd o no, si es así, que la deja caer a 7 bytes.

bash: 31 caracteres

La secuencia de comandos para descargar una sola gif de píxel desde la interwebs es menos bytes que el único píxel en sí ...

wget http://tinyurl.com/2w97dyo

Python + PIL 68 caracteres

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

Postscript, 29 bytes. no es realmente un "solo píxel", pero era un solo píxel en mi pantalla de vista previa.

0 0 moveto .5 0 lineto stroke

Python (w / PIL) (85 caracteres):

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

Un formato de imagen antigua Solía ??usar: 4 bytes

 01 00 00 0C

El formato consiste en una matriz de enteros de 16 bits (Little Endian):

mapeo de bits:

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

Control bits de valores:

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

SVG, 59 caracteres:

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

Unfortuntally, incluyendo Doctype crece a 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 caracteres

#lang slideshow
(disk 1)

Estoy bastante tarde para este partido, pero http://www.perlmonks.org/ ? node_id = 7974 tiene una más general respuesta que cualquiera de publicado hasta ahora:

## 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","."}

En la búsqueda de un artículo de Wikipedia para vincularlo encontré XPM2, 26 bytes , pero no pude abierto que con cualquier programa aquí.

! XPM2
1 1 1 1
. c #000
.

Rebmu : 16 caracteres

en'PNGmkIM![1x1]

Si usted quiere que guardar en un archivo basado en un argumento que se pasa en, que añade tres caracteres más para el programa:

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

El programa es la abreviatura de la siguiente Rebol, paréntesis añadido para mayor claridad:

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

Sin embargo, el posicionamiento se tardará más.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top