我最近接管了別人在項目中的位置。當下面的代碼在他們的舊機器上運行時,它工作正常。但是當我運行它時,我會看到一個帶有紅色輪廓的黃色矩形的空白線。基本上,Draw()方法工作正常,但Annotate()方法沒有做任何事情。無論我將文本,字體,字體大小或顏色傳遞給哪個值,都不會顯示文本。ImageMagick沒有在我的機器上創建文本 - Perl
下面是相關代碼:
my ($length,$width,$boxRef,$text,$font,$fontSize,$fontColor,$outFile) = @_;
my $image = Image::Magick->new;
$image->Set(size=>$length."x".$width);
$image->ReadImage('xc:white');
$image->Draw(primitive=>'rectangle',stroke=>'red',fill=>'yellow',points=>"$$boxRef[0],$$boxRef[1],$$boxRef[2],$$boxRef[3]");
my $y = $image->Annotate(text=>$text,font=>$font,fill=>$fontColor,pointsize=>$fontSize,geometry=>'+0+20');
warn "$y" if "$y";
my $x = $image->Write($outFile);
warn "$x" if "$x";
undef $image;
我敢肯定,沒有什麼是錯的代碼,因爲其他更簡單的腳本將不能工作。我相信我的機器或ImageMagick的安裝有問題,但我不知道有什麼問題。
我的老闆說他記得以前的人遇到過一些字體問題,所以也許這跟它有關係?過去一天左右,我一直在做一些挖掘工作,但是我還沒有發現任何似乎與我的問題非常相似的東西,它們提供了一個很好的解決方案。
有誰知道爲什麼我不能讓ImageMagick顯示文本?
關於我的設置的一些信息:
OS X Mavericks 10.9.3; ImageMagick 6.8.9-1/PerlMagick 6.88(安裝通過自制軟件)
嘗試'brew更新;釀造升級;釀造升級$(釀造過時);釀造醫生' –
已經做到了。事實上,我今天早些時候重新安裝了Homebrew來處理另一個問題。不是說這似乎很重要;在重新安裝之前和之後,我有同樣的錯誤。 – BrianAtUAB
如果你喜歡用一些硬編碼的一些明智的數字來製作一個自包含的Perl程序,那麼我可以在我的小牛裝置上爲你嘗試它... –