使用perl将图形添加到htm网页

问题描述

我创建了一个图形,我需要以某种方式合并HTML来显示该图形,我已经将html部分添加到了我的代码中,但是它在html页面中给了我一些乱码。

当我看到gif图像时,图形本身打印正确 这是我的代码

#!/pkg/qct/software/perl/5.20.0/bin/perl
use strict;
use warnings;
use Getopt::Std;
use GD::Graph::lines;
use Text::ParseWords;
use CGI qw(:standard);

my $input_file  = $ARGV[0];
my @data =  read_data_from_csv($input_file);

my $my_graph = new GD::Graph::lines($graph{'width'},$graph{'height'});

$my_graph->set(%config); 
$my_graph->set_legend(@legends);

$my_graph->plot(\@data);


my $ext = $my_graph->export_format;
open( count_out,">tabel.html" ) or die "cant open out $!";
print count_out "<HTML>";
print count_out "<head>";
print count_out "</head>";
binmode STDOUT;
print count_out $my_graph->gd->$ext();
print count_out "</table>";
print count_out "</body>";
print count_out "</html>";
close(count_out);

sub read_data_from_csv
{
    my ($fh) = @_;
    my @d = ();

    open(FH,"<$fh") || die "Error: no open for $fh: $!";
    while (<FH>) {
        chomp;
    next if ($. == 1);
        my @row = parse_line($delimiter,$keep,$_);
        for (my $i = 0; $i <= $#row; $i++) {
            undef $row[$i] if ($row[$i] eq 'undef');
            push @{$d[$i]},$row[$i];
        print "@{$d[$i]}\n"; # $tf1[1] is the second column and $tf1[2] is the third column
        }
    }
    close (FH);
    return @d ;
}

%graph = (
    width => 1400,height => 1400,);

%config = ( 
    width         => 1400,height        => 1400,title         => 'Die size and transistor count per block',y_min_value   => '0',y_max_value   => '300',y_tick_number => '20',y_label_skip  => '2.5',x_ticks       => 0,long_ticks    => 0,x_label_font_size =>22,xlabelheight => 50,x_labels_vertical => 1,x_label_color => 'black',x_label_font => 'Times 25 {normal}',legend_placement => 'RT',legend_marker_height => 20,transparent   => 0,bgclr         => 'white',dclrs => [ qw(black blue green red) ],);

@legends = (
    'Die Size','Transistor Count',);

有人能告诉我html部分的代码出了什么问题吗

解决方法

它真的不能那样工作。

您的图像是二进制数据文件。您不能(轻松)仅将二进制图像数据嵌入到HTML文档中。如果您几乎看到任何包含图像的网页,那么该图像将存储在一个单独的文件中,然后使用<img ...>标签添加到HTML主页面中。那是您可能应该采用的方法。

  1. 生成图像并将其存储在文件中。
  2. 在您的HTML中添加一个<img>标记,该标记将图像文件用作其src属性。
,

谢谢

我将and src属性用于html页面上的图像...但是它位于顶部....我已经在html中添加了一些内容,我需要在底部使用此图像...做到这一点。

这是我添加到上述代码中的命令,用于将图像获取到html

print count_out "<img src='/usr2/mydata.gif'>";