PHP создает изображение для отображения адреса электронной почты?

Использование PHP: как создать изображение для отображения адреса электронной почты (чтобы уменьшить спам)?

Смысл, если я хочу отобразить «joe@example.com» на моей веб-странице, поскольку искатели могут легко найти этот текст – я хочу отображать адрес электронной почты в качестве изображения, которое говорит «joe@example.com».

Как мне это сделать? Я хочу, чтобы шрифт был:

  • цвет: # 20c
  • шрифт: 11px нормальный тахома

    Простой поиск, который вы могли бы легко сделать …

    Однако: (цвет, шрифт и строка не те, которые вы указали)

    header("Content-type: image/png"); $im = @imagecreate(110, 20) or die("Cannot Initialize new GD image stream"); $background_color = imagecolorallocate($im, 0, 0, 0); $text_color = imagecolorallocate($im, 233, 14, 91); imagestring($im, 1, 5, 5, "A Simple Text String", $text_color); imagepng($im); imagedestroy($im); 

    Соответствующие определения функций:

    php.net/imagecreate

    php.net/imagestring

    Используйте эти:

    • заголовок , чтобы сообщить браузеру ожидать изображения вместо HTML (по умолчанию PHP). На страницах документа с функциями изображения есть дополнительная информация об этом.
    • imagettfbbox , чтобы узнать требуемый размер изображения
    • imagecreatetruecolor , чтобы создать ресурс изображения
    • imagecolorallocate , выделить цвет для текста
    • imagettftext , чтобы нарисовать текст (читайте пример, это почти все, что вам нужно)
    • imagepng , чтобы вывести изображение в браузер

    Вы должны использовать библиотеку обработки изображений gd.

    Если вы делаете это только для одного адреса, вы не должны делать это динамически каждый раз, когда страница загружается по соображениям производительности. Если это так, вы можете найти amny email obfuscator онлайн, например, этот:

    http://digitalcolony.com/lab/maskemail/maskemail.aspx