Изображение Кодирования Base64
Я создаю надстройку open search для Firefox / IE, и изображение должно быть закодировано Base64, поэтому как я могу кодировать базу 64 в своем favicon?
Я знаком только с PHP
5 ответов:
насколько я помню, есть xml-элемент для данных изображения. Вы можете использовать это сайт для кодирования файла (используйте поле загрузки). Затем просто скопируйте и вставьте данные в XML-элемент.
вы также можете использовать PHP, чтобы сделать это вот так:
<?php $im = file_get_contents('filename.gif'); $imdata = base64_encode($im); ?>
использовать руководство Mozilla для справки по созданию плагинов OpenSearch. Например, элемент icon используется следующим образом:
<img width="16" height="16">data:image/x-icon;base64,imageData</>
здесь
imageData
ваши данные в base64.
мой синопсис rfc2397 - это:
после того, как вы получили данные изображения в кодировке base64, поместите его в теги
с префиксом " data:{mimetype};base64,
" это похоже на префикс, сделанный в скобкахurl()
определение в CSS или в указанную стоимость наimg
тег в [X]HTML. Вы можете проверить url-адрес данных в firefox, поставивdata:image/...
строка в поле URL и нажатие enter, он должен показать ваш изображение.для фактического кодирования я думаю, что мы должны пройти через все ваши варианты, а не только PHP, потому что есть так много способов base64 кодировать что-то.
- использовать
base64
инструмент командной строки. Это часть GNU coreutils (v6+) и в значительной степени по умолчанию в любом программа,Lяnux,GnuWin32 установить, но не BSDs я пробовал. Вопрос:$ base64 imagefile.ico > imagefile.base64.txt
- используйте инструмент, который имеет возможность конвертировать в base64, например Блокнот++ который имеет функцию под плагинами - >MIME tools - >base64 Encode
- напишите себе файл и просмотрите содержимое сырой электронной почты, скопируйте и вставьте.
- использовать webформа.
примечание по MIME-типам: Я бы предпочел, чтобы вы использовали один из
image/png
image/jpeg
илиimage/gif
как я не могу найти в популярныйimage/x-icon
. Должно ли это бытьimage/vnd.microsoft.icon
? Кроме того, другие форматы намного короче.сравните 265 байт против 1150 байт:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAVFBMVEWcZjTcViTMuqT8/vzcYjTkhhTkljT87tz03sRkZmS8mnT03tT89vTsvoTk1sz86uTkekzkjmzkwpT01rTsmnzsplTUwqz89uy0jmzsrmTknkT0zqT3X4fRAAAAbklEQVR4XnXOVw6FIBBAUafQsZfX9r/PB8JoTPT+QE4o01AtMoS8HkALcH8BGmGIAvaXLw0wCqxKz0Q9w1LBfFSiJBzljVerlbYhlBO4dZHM/F3llybncbIC6N+70Q7OlUm7DdO+gKs9gyRwdgd/LOcGXHzLN5gAAAAASUVORK5CYII= data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAD/////ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv///////////2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb///////////9mZmb/ZmZm//////////////////////////////////////////////////////9mZmb/ZmZm////////////ZmZm/2ZmZv//////ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv//////ZmZm/2ZmZv///////////2ZmZv9mZmb//////2ZmZv9mZmb/ZmZm/2ZmZv9mZmb/ZmZm/2ZmZv9mZmb//////2ZmZv9mZmb///////////9mZmb/ZmZm////////////////////////////8fX4/8nW5P+twtb/oLjP//////9mZmb/ZmZm////////////////////////////oLjP/3eZu/9pj7T/M2aZ/zNmmf8zZpn/M2aZ/zNmmf///////////////////////////////////////////zNmmf8zZpn/M2aZ/zNmmf8zZpn/d5m7/6C4z/+WwuH/wN/3//////////////////////////////////////+guM//rcLW/8nW5P/x9fj//////9/v+/+w1/X/QZ7m/1Cm6P//////////////////////////////////////////////////////7/f9/4C+7v8xluT/EYbg/zGW5P/A3/f/0933/9Pd9//////////////////////////////////f7/v/YK7q/xGG4P8RhuD/MZbk/7DX9f//////4uj6/zJh2/8yYdv/8PT8////////////////////////////UKbo/xGG4P8xluT/sNf1////////////4uj6/zJh2/8jVtj/e5ro/////////////////////////////////8Df9/+gz/P/////////////////8PT8/0944P8jVtj/bI7l/////////////////////////////////////////////////////////////////2yO5f8jVtj/T3jg//D0/P///////////////////////////////////////////////////////////3ua6P8jVtj/MmHb/+Lo+v////////////////////////////////////////////////////////////D0/P8yYdv/I1bY/9Pd9///////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
Проверьте следующий пример
<?php // First get your image $image = 'path-to-your-picture/image.jpg'; $picture = base64_encode(file_get_contents($image)); echo '<img width="100" height="100" src="data:image/jpg;base64,'. $picture .'" />' ?>
Google привел меня к этой решение (base64_encode). Надеюсь, это поможет!