我正在编写一个小插件,它通过Perl GD生成一个图像并在浏览器中显示。到目前为止,一切都正常,除了图像以二进制字符流显示。 google这类问题相当烦人,因为我读到了暂时将文件保存到硬盘的问题,我很乐意避免这种情况。
这是我到目前为止的代码:
$image = $print->png; ## the image was created correctly, I was able to
#view it if I saved it on the local drive
my $cgi = new CGI;
print $cgi -> header(),
$cgi -> start_html(),
$cgi -> h1('Bernd'),
$cgi -> header(-type=>'image/png');
binmode STDOUT;
print $image;
print $cgi -> end_html();
我必须调用CGI模块的特殊方法吗?因为我找不到一个我有点困惑。
感谢任何帮助。 提前谢谢!
答案 0 :(得分:0)
当它是PNG时,图像必须是单独的资源/ URL,由HTML img
元素或类似元素指向,而不是嵌入到文档中的流文本。这些是HTML的基础知识,如果您不熟悉,请获取Web编程书。
将图像格式更改为内联SVG,或者重写程序以创建img
元素,并创建图像HTTP响应的另一个程序。
可以将原始程序(HTML响应)与创建图像响应的程序结合起来,但我不建议新手使用。