Подтвердить что ты не робот

Code Golf: 1x1 черный пиксель

Недавно я использовал свой любимый редактор изображений, чтобы сделать 1x1 черный пиксель (который может пригодиться, когда вы хотите дешево рисовать сплошные коробки в HTML). Несмотря на то, что я сделал его монохромным PNG, он получился равным 120 байтам! Я имею в виду, такой крутой. 120 байт. Для одного пикселя. Затем я преобразовал его в GIF, который уменьшил размер до 43 байт. Гораздо лучше, но все же...

Вызов

Самый короткий файл изображения или программа, в которой или , генерирует черный пиксель 1x1. Представление может быть:

  • Файл изображения, представляющий черный пиксель 1x1. Выбранный формат должен иметь возможность представлять более крупные изображения, чем 1x1, и не может быть ad-hoc (то есть он не может быть форматом изображения, который вы только что создали для кодового гольфа). Файлы изображений будут ранжироваться по количеству байтов.
  • Программа, которая генерирует такой файл изображения. Программы будут оцениваться по количеству символов, как обычно, в кодовом гольф-поле.

Пока ответ попадает в одну из этих двух категорий, все будет честной игрой.

Кроме того, для файлов изображений, пожалуйста, укажите их в шестнадцатеричном или escapes, а не используя внешний хост изображения: -)

4b9b3361

Ответ 1

WBMP, 5 байт:

00 00 01 01 00

Не могу представить ничего меньшего

Ответ 2

URI данных, 83 символа

data:image/gif;base64,R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==

Ответ 3

Файл изображения: 10 байт, PGM формат:

P5 1 1 1\n\0

Чтобы создать его, в Python: 40 символов

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

Ответ 5

Формат PBM - черно-белый графический формат.

Двоичное представление одного черного пикселя займет 8 байтов, а запись его в файл с С# будет выглядеть так:

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

Ответ 6

Логотип/Turtle basic, 12 байт

PENDOWN FD 1

Я не могу вспомнить, можно ли сократить pendown до pd или нет, если это так, что он упадет до 7 байтов.

Ответ 7

bash: 31 символ

script для загрузки одного пикселя gif из межсетевых экранов меньше байтов, чем сам один пиксель...

wget http://tinyurl.com/2w97dyo

Ответ 8

Python + PIL 68 символов

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

Ответ 9

Python (w/PIL) (85 символов):

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

Ответ 10

Postscript, 29 байт. не совсем "одиночный пиксель", но на моем экране предварительного просмотра был один пиксель.

0 0 moveto .5 0 lineto stroke

Ответ 11

Старый формат изображения, который я использовал: 4 байта

 01 00 00 0C

Формат состоит из массива из 16-битных целых чисел (немного endian):

Отображение бит:

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

Значения управляющих бит:

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

Ответ 12

SVG, 59 символов:

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

Несомненно, включая Doctype, он вырастет до 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>

Ответ 13

DrRacket: 23 символа

#lang slideshow
(disk 1)

Ответ 14

Я очень опаздываю на эту вечеринку, но http://www.perlmonks.org/?node_id=7974 имеет более общий ответ, чем опубликованный до сих пор:

## tinygif
## World 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;

Ответ 15

XPM, 57 байт:

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

При поиске статьи по wikipedia для ее ссылки я нашел XPM2, 26 байт, но я не мог открыть это с помощью любой программы здесь.

! XPM2
1 1 1 1
. c #000
.

Ответ 16

Rebmu: 16 символов

en'PNGmkIM![1x1]

Если вы хотите сохранить его в файл на основе аргумента, который вы передаете, добавьте еще три символа в программу:

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

Программа представляет собой сокращенную форму для следующих пояснений, скобок, добавленных для ясности:

write a (encode 'png (make image! [1x1]))

Ответ 17

<div style="height: 0; width: 1px; border-top: 1px solid #000">

Но позиционирование будет больше.