Превратите удобочитаемую строку в изображение, которое будет отображаться с помощью data-uris
Есть ли обычный способ превратить произвольную строку в изображение?
В моем случае, допустим, я хочу иметь изображение для каждого пользователя, которое отображается непосредственно на имя этого пользователя.
Концепция похожа на QR-коды, за исключением того, что выходное изображение не должно быть читабельным, простым, красивым и последовательным.
в конечном итоге я хочу что-то вроде:
def to_image(a_string)
... #magic
return a_data_uri
end
такой, что
# is always true
to_image("specific string") == to_image("specific string")
В идеале вы получите красивое изображение в стиле фрактала.
Если то, что я описываю, бессмысленно, подойдет функция, которая может преобразовать строку в data-uri, содержащий код qr.
1 ответ
Одной из возможностей будет хэширование строк - это даст вам уникальные числа в качестве выходных данных. Затем вы можете передать эти числа в качестве входного параметра для функции, генерирующей фрактал.
Для хеширования либо используйте реальную хеш-функцию, либо (если количество пользователей ограничено) вы можете использовать функцию CRC (CRC16, CRC32). Оба подхода дадут вам уникальные числа в качестве вывода. Для CRC вы должны быть немного осторожнее - например, наличие входных строк по 60 КБ и использование CRC16 может привести к некоторым конфликтам (разные строки - одно и то же число CRC16).