«Давайте посмотрим правде в глаза, выровненные изображения, как маленькие подарки с небес. Добро пожаловать, но неожиданно».- Геобитс
+10000 репутации тому, кто выиграет это испытание.
Правила:
1) Вы должны создать программу.
2) Вводится изображение, однако, передается ли оно в виде файла или списка чисел, остается за вами.
3) Выводом будет файл, который при открытии в краске (или подобном) покажет выровненное изображение.
4) Размер холста всегда будет между 100 x 100 и 2000 x 2000 пикселей. Это всегда будет прямоугольник, но не всегда квадрат.
5) Нет жесткого кодирования изображений или фанк-магии URL.
6) Нет внешних библиотек, которые будут использоваться.
Руководство по централизации (вариант Джошпаррона)
Изображение будет определено по центру, если 1-й белый (255,255,255,> 0 rgba) или прозрачный (x, y, z, 0 rgba) на оси равен расстоянию (плюс или минус 1 пиксель) от края холста.
Это может быть достигнуто (и будет проверено) следующим способом.
1) Вообразите ограничивающую рамку вокруг объекта. (Черные линии добавлены для помощи)
2) Перемещайте объект до тех пор, пока край объекта не станет равным расстоянию от соответствующего края холста.
3) Теперь забудьте о черных линиях.
Входные данные:
Выход:
Больше входов здесь .
И соответствующие выводы здесь .
Репут +10000 - ложь.
источник
Ответы:
Python 3,
120205 байтРЕДАКТИРОВАТЬ : так как выходное изображение должно иметь такой же размер, как ввод, сценарий становится длиннее ...
РЕДАКТИРОВАТЬ 2 : Кажется, что правило 6 (без внешней библиотеки) было добавлено после того, как я ответил, так что этот ответ все равно следует считать недействительным :(
Предыдущая версия просто обрезала входное изображение:
оба сценария считывают имя файла изображения из stdin и сохраняют выходное изображение как «o.png». например :
Он принимает как минимум PNG-изображения (возможно, с альфа-каналом) - Проверено «хорошо» на наборе, предоставленном запрашивающим.
... жду моей награды)
источник
python3 script.py <<< s2rMqYo.png
чищеHTML5 + JavaScript (ES5), 515 байт
Это количество включает в себя теги HTML, поскольку они являются частью программы. Если вы учитываете только код обработки изображения, он составляет 376 байт, включая упаковщик функций.
вход
URL к изображению.
Ограничения безопасности
Поскольку эта программа работает в среде браузера, будут работать только URL-адреса изображений с поддержкой CORS . Imgur включен CORS.
IE 10 не поддерживает CORS. Я еще не тестировал в IE 11, но он работает в Chrome и Firefox.
Как бегать
Выход
Выводится на холст на странице.
Поскольку это приложение на основе браузера, ограничения безопасности не позволяют автоматически загружать файл, но вы можете щелкнуть правой кнопкой мыши и сохранить изображение в Chrome и Firefox. Я еще не тестировал IE 11.
демонстрация
Код JavaScript был удален из
script
элемента и помещен в соответствующую область для размещения фрагментов стека:источник
Обработка 2 -
323450Изображение читается из файла f.png в папке данных эскиза. Размещает изображение и определяет его границы. Вычисляет правильное положение и заменяет изображение, смещенное правильно.
читаемая версия:
Пример вывода:
Вы можете получить обработку здесь
источник
PImage p=loadImage("h.png");
в самом верху.color(-1)
иbackground(-1)
каждый на 1 байт корочеcolor(255)
иbackground(255)
соответственно. И я думаю, что вы можете удалитьP2D
вsize
вызове