CGI/Perl 创建自定义签名文件的脚本

CGI/Perl script creating a customized signature file

我有点用这个。 我有一个包含以下代码的 cgi 文件:

#!/usr/bin/perl
use CGI;
$cgi = new CGI;

open (IMAGE, "ts.jpg");
$size = -s "ts.jpg";
read IMAGE, $data, $size;
close (IMAGE);

print $cgi->header(-type=>'image/jpeg'), $data;

exit;

这可以正确显示我的图像文件。 但是,我希望用户能够通过网络表单在图像上添加 2 行文本,以便每次生成一个新的 jpeg。这是 URL:http://elearning.cpma.ca/signature.html

当我点击 "Add Text" 按钮时,我的 cgi 文件中缺少什么可以让我重新发布以筛选新的 jpeg 文件,上面显示 2 行文本?

如有任何帮助,我们将不胜感激。

您需要一个图像处理库。您会看到很多关于 GD or ImageMagick, but I think I'd use Imager 的推荐,因为它更新且更易于使用。

关于改进代码的一些一般性建议。

  1. 始终在代码中使用 strictwarnings
  2. 使用 my (my $cgi = ...) 声明变量。
  3. new CGI 语法可能存在问题。请改用 CGI->new
  4. 使用 three-arg 打开和词法文件句柄 (open my $image_fh, '<', 'ts.jpg'))。
  5. 始终检查 open (open my $image_fh, '<', 'ts.jpg') or die $!) 中的 return 代码。

我能够通过 alvarotrigo 在 GitHUb TextPainter

上提供的自述文件创建我想要的内容

我需要做一些小的代码更改才能使其正常工作 - 但是,它很容易实现。 不需要 CGI。请参阅 SignatureFile 了解我的图像的最终结果。 感谢所有回复我的问题的人。