Я недавно перечислил песню « Textpert» о текстовых сообщениях во время вождения, и одна особенность этой песни вдохновила меня на этот вызов.
Я никогда не опускаюсь так низко, чтобы текстовые фото / Вместо этого я пишу правильную комбинацию единиц и нулей
Теперь очевидно, что это было бы почти невозможно сделать в своей голове, и поэтому вы должны помочь текстовым текстам по всему миру, написав программу, которая делает то же самое.
Ваша задача - взять имя файла изображения с размерами 500x500
пикселей и вывести файл в двоичном виде. Вы также можете взять изображение в качестве ввода, если ваш язык поддерживает его.
Вы можете использовать файлы изображений с расширениями
.jpg
.png
.gif
.bmp
.svg
Позвольте мне продемонстрировать, как преобразовать изображение в двоичное, для тех, кто не понимает, что я имею в виду.
Шаг 1
Возьмите первый пиксель в файле и получите его значение RGB как 3 десятичных числа: R, G и B. Предположим, например, что первый пиксель 255,0,0
(красный).
Шаг 2
Преобразуйте каждое число в его 8-разрядное двоичное представление и объедините в одно 24-разрядное число. Для примера это дает111111110000000000000000
Шаг 3
Добавьте это 24-битное число в окончательный вывод. Поэтому окончательный вывод должен быть 6000000
цифры в длину и должен состоять из полностью 1
и0
Это Код-гольф так выигрывает самый короткий код!
источник
Ответы:
Pyth ,
1413 байтов-1 байт благодаря Erik the Outgolfer (
z
может быть удален для неявного ввода).Пояснения
К сожалению, из соображений безопасности это невозможно проверить с помощью онлайн-переводчика ; вам придется клонировать Pyth, чтобы протестировать его на своем компьютере.
источник
z
.MATL ,
1312 байтПринимает имя файла как строку в качестве ввода. Выходные 24-битные числа отображаются в основном порядке строк.
К сожалению, это не работает в онлайн-переводчиках по соображениям безопасности. Вот скриншот работы на моей локальной машине
Вот немного измененная версия, в которой я вручную создаю изображение 2 x 2 x 3, а затем использую (почти) тот же код для его обработки.
объяснение
источник
Mathematica, 103 байта
берет изображение x.bmp (или любое другое) и преобразует его в файл x.txt
источник
PadLeft
вы можете использовать третий аргументIntegerDigits
(то естьIntegerDigits[#,2,8]&
Import
`Export`.C #, 309 байт
Мой второй код гольф, если вы не можете сказать. Принимает изображение x.jpg ...
источник
Октава, 46 байт
Создает анонимную функцию с именем,
ans
которую можно вызывать с именем файла (ans('file.png')
) или URL (ans('http://image.png')
).источник