Могу ли я встроить изображение.png в html-страницу?
Как я могу вставить файл .png в пустой"file.html "так что, когда вы открываете этот файл в любом браузере, вы видите это изображение? В этом сценарии файл изображения не связан с HTML, а скорее данные изображения встроены в сам HTML.
5 answers
В Интернете есть несколько кодеров base64, которые помогут вам в этом, это, вероятно, лучшее, что я видел:
Http://www.greywyvern.com/code/php/binary2base64
Как показано на этой странице, ваши основные параметры для этого - CSS:
div.image {
width:100px;
height:100px;
background-image:url(data:image/png;base64,iVBORwA<MoreBase64SringHere>);
}
Или сам тег <img>
, например:
<img alt="My Image" src="data:image/png;base64,iVBORwA<MoreBase64SringHere>" />
Метод 64base также работает для больших изображений, я использую этот метод для встраивания всех изображений на свой веб-сайт, и он работает каждый раз. Я закончил с файлами размером до 2 Мб, jpg и png.
Я не знаю, как долго этот пост находится здесь. Но сейчас я наткнулся на подобную проблему. Следовательно, публикуйте решение, чтобы оно могло помочь другим.
#!/usr/bin/env perl
use strict;
use warnings;
use utf8;
use GD::Graph::pie;
use MIME::Base64;
my @data = (['A','O','S','I'],[3,16,12,47]);
my $mygraph = GD::Graph::pie->new(200, 200);
my $myimage = $mygraph->plot(\@data)->png;
print <<end_html;
<html><head><title>Current Stats</title></head>
<body>
<p align="center">
<img src="data:image/png;base64,
end_html
print encode_base64($myimage);
print <<end_html;
" style="width: 888px; height: 598px; border-width: 2px; border-style: solid;" /></p>
</body>
</html>
end_html
Быстрый поиск в Google говорит, что вы можете встроить его следующим образом:
<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7"
width="16" height="14" alt="embedded folder icon">
Но вам нужна другая реализация в Internet Explorer.
Http://www.websiteoptimization.com/speed/tweak/inline-images/
Используйте mod_rewrite для перенаправления вызова на file.html в файл image.png без изменения URL-адреса для пользователя
Вы пробовали просто переименовать файл image.png в file.html? Я думаю, что большинство браузеров используют заголовок mime вместо расширения файла:)