Наткнулся на pikabu на вакансию fullstack developer.
Одно из тестовых заданий звучало вот так:
Секретный агент Пикабу передал зашифрованное изображение. Вам необходимо расшифровать изображение и вывести его на страницу средствами JS (без сторонних библиотек). Алгоритм дешифрования известен:
пиксели перебираются слева направо для каждой строки;
для каждого пикселя вычисляется параметр s += x + y * 80 (изначально s = 0 и для каждого следующего пикселя значение увеличивается на x + y * 80), где x - колонка пикселя, y - строка;
для канала красного и синего цвета необходимо добавить параметр s;
для канала зеленого цвета необходимо отнять параметр s следующим образом: green = (green - s) & 0xff;
Зашифрованное изображение (чтобы избежать проблемы с CORS изображение лучше скачать себе на локальный сервер):
https://cs10.pikabu.ru/post_img/2019/01/20/10/1548...
Решил я выполнить задание.
Нет, я не собираюсь отправлять туда свое резюме )
Стек у меня не такой да и язык для реализации выбрал другой (C#). Просто интересно стало, что они там такое зашифровали.
Но возникли проблемы с пониманием задачи. При таком алгоритме значение R и B быстро выйдет за 255, а G станет меньше 0. Или они имели ввиду, что если больше 255, то цвет это остаток от деления на 255 - 1. Например, когда R станет 256, то это значит, что R = 0? Может кто понял что они хотят?