2016-01-12 50 views
-2

我有這個工作。 我有了下面的代碼CGI文件:創建自定義簽名文件的CGI/Perl腳本

#!/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; 

這顯示我的圖像文件corrrectly。 但是,我希望用戶能夠通過Web窗體在圖像上添加2行文本,以便每次生成新的jpeg。這裏是網址:http://elearning.cpma.ca/signature.html

我在cgi文件中丟失了什麼,當我點擊「添加文本」按鈕時,允許我重新發布以屏幕上出現2行文本的新jpeg文件。按鈕?

任何援助將非常感激。

+2

你的問題措辭的方式使它聽起來像你期待有人爲你做所有的工作,並提供代碼轉儲。 (我並不是說這是你的意圖,但聽起來就是這樣。)因此,你的帖子很可能會被低估和/或關閉。我會建議查看[GD](https://metacpan.org/pod/GD)來覆蓋圖像上的文字。 –

+0

嗨馬特。我只是在尋找如何刷新它的方向以及圖像上的文字。我以前從未使用GD。我會試一試。 –

+0

用Image :: Magick添加水印/簽名很容易。有關幾乎完整的示例,請參閱http://www.perlmonks.org/?node_id=369366 –

回答

0

我能創造什麼,我通過alvarotrigo在GitHub上提供的自述想TextPainter

我被要求做一些小的代碼更改,以使其正常工作 - 但是,它很容易執行。 不需要CGI。請參閱SignatureFile瞭解我的圖像的最終結果。 謝謝所有回覆我問題的人。

0

您需要一個圖像處理庫。您會看到很多關於GDImageMagick的建議,但我認爲我會使用Imager,因爲它更新且易於使用。

有關改進代碼的一些常規建議。

  1. 在您的代碼中始終使用strictwarnings
  2. 聲明變量mymy $cgi = ...)。
  3. new CGI語法可能存在問題。改爲使用CGI->new
  4. 使用三個arg開放和詞法文件句柄(open my $image_fh, '<', 'ts.jpg'))。
  5. 總是檢查openopen my $image_fh, '<', 'ts.jpg') or die $!)的返回碼。