Base64 인코딩 이미지
Firefox/IE에 대한 공개 검색 추가 기능을 구축하고 있는데 이미지가 Base64 Encoded여야 하는데 내가 가지고 있는 Favicon을 Base64로 인코딩하려면 어떻게 해야 합니까?
저는 PHP에만 익숙합니다.
제 기억으로는 이미지 데이터에 대한 xml 요소가 있는 것으로 알고 있습니다.이 웹 사이트를 사용하여 파일을 인코딩할 수 있습니다(업로드 필드 사용).그런 다음 XML 요소에 데이터를 복사하여 붙여넣기만 하면 됩니다.
PHP를 사용하여 다음과 같은 작업을 수행할 수도 있습니다.
<?php
$im = file_get_contents('filename.gif');
$imdata = base64_encode($im);
?>
OpenSearch 플러그인 생성에 대한 도움말은 Mozilla의 안내서를 참조하십시오.예를 들어 아이콘 요소는 다음과 같이 사용됩니다.
<img width="16" height="16">data:image/x-icon;base64,imageData</>
어디에imageData
Base64 데이터입니다.
$encoded_data = base64_encode(file_get_contents('path-to-your-image.jpg'));
rfc2397에 대한 개요는 다음과 같습니다.
Base64 인코딩된 이미지 데이터를 가져오면 "로 접두사가 붙은 <Image> </Image> 태그 안에 넣습니다.data:{mimetype};base64,
이것은 괄호 안에서 행해진 접두사와 유사합니다.url()
CSS 또는 인용된 값의 정의src
의 속성img
[X]HTML의 태그입니다. 당신은 파이어폭스의 데이터 URL을 테스트할 수 있습니다.data:image/...
URL 필드에 줄을 서서 Enter 키를 누르면 이미지가 표시됩니다.
실제로 인코딩을 위해서는 PHP 뿐만 아니라 당신의 모든 옵션을 검토해야 한다고 생각합니다. 왜냐하면 base64 인코딩에는 매우 많은 방법이 있기 때문입니다.
- 사용
base64
명령줄 도구.이것은 GNU 코어유틸리티(v6+)의 일부이며 Cygwin, Linux, GnuWin32 설치에서는 거의 기본값이지만 제가 시도한 BSD는 아닙니다.문제:$ base64 imagefile.ico > imagefile.base64.txt
- 플러그인 ->MIME 도구 ->base64 인코딩 기능이 있는 메모장++과 같이 base64로 변환하는 옵션이 있는 도구를 사용합니다.
- 전자 메일로 파일을 보내고 원시 전자 메일 내용을 보고 복사하여 붙여넣습니다.
- 웹 양식을 사용합니다.
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==
다음 예를 확인합니다.
// First get your image
$imgPath = 'path-to-your-picture/image.jpg';
$img = base64_encode(file_get_contents($imgPath));
echo '<img width="100" height="100" src="data:image/jpg;base64,'. $img .'" />'
Google이 이 솔루션(base64_encode)으로 안내했습니다.이것이 도움이 되길 바랍니다!
언급URL : https://stackoverflow.com/questions/35879/base64-encoding-image
'programing' 카테고리의 다른 글
MariaDB Prepared 문에서 잘못된 형식의 통신 패킷을 반환합니다. (0) | 2023.08.09 |
---|---|
.NET의 파일 확장명 및 MIME 유형 (0) | 2023.08.09 |
하위 쿼리를 처리하기 위한 MariaDB 이전 버전 (0) | 2023.08.09 |
UIScrollView 페이지 변경 검색 중 (0) | 2023.08.09 |
빠른 분할 테스트(2,3,4,5,...,16)? (0) | 2023.08.09 |