2012-10-25 70 views
0

ImageMagick的下載
http://www.imagemagick.org/script/binary-releases.php#windows如何將Image :: Magick包裝到PAR(perl)?

C:\ Program Files文件(x86)的\ ImageMagick的-6.8.0-Q16
所有DLL複製
* .DLL

use strict; 
use warnings; 
my $l; 
my @dll=glob "*.dll"; 
$l.=" -l $_" foreach(@dll); 
#print $l; 
print `pp -v -o ss.exe$l img.pl`; 

運行IMAGE.EXE
SUCESS !!!!

我也嘗試gm.exe

感謝的人

============================= ================================================== ==

IMAGE.EXE(雙擊)完成不創建k.jpg
請告訴我怎麼解決

perl的pp.pl - >創建 「IMAGE.EXE」

perl的image.pl - >創建k.jpg
IMAGE.EXE(雙擊) - >不能創建k.jpg

image.pl

use strict; 
use warnings; 
use Image::Magick; 
my $img=Image::Magick->new; 
$img->Read('s.bmp'); 
$img->Write('k.jpg'); 

pp.pl

use strict; 
use warnings; 
my $l; 
my @dll=glob "*.dll"; 
$l.=" -l $_" foreach(@dll); 
print $l; 
print `pp -v -o image.exe$l -M Image::Magick image.pl`; 

請告訴我如何啓動ImageMagick的PAR

== DLL列表==

-l analyze.dll -l atl100.dll -l CORE_RL_bzlib_.dll -l CORE_RL_coders_.dll -l CO 
RE_RL_filters_.dll -l CORE_RL_jbig_.dll -l CORE_RL_jp2_.dll -l CORE_RL_jpeg_.dll 
-l CORE_RL_lcms_.dll -l CORE_RL_libxml_.dll -l CORE_RL_Magick++_.dll -l CORE_RL 
_magick_.dll -l CORE_RL_png_.dll -l CORE_RL_tiff_.dll -l CORE_RL_ttf_.dll -l COR 
E_RL_wand_.dll -l CORE_RL_xlib_.dll -l CORE_RL_zlib_.dll -l IM_MOD_RL_aai_.dll - 
l IM_MOD_RL_art_.dll -l IM_MOD_RL_avs_.dll -l IM_MOD_RL_bgr_.dll -l IM_MOD_RL_bm 
p_.dll -l IM_MOD_RL_braille_.dll -l IM_MOD_RL_cals_.dll -l IM_MOD_RL_caption_.dl 
l -l IM_MOD_RL_cin_.dll -l IM_MOD_RL_cip_.dll -l IM_MOD_RL_clip_.dll -l IM_MOD_R 
L_clipboard_.dll -l IM_MOD_RL_cmyk_.dll -l IM_MOD_RL_cut_.dll -l IM_MOD_RL_dcm_. 
dll -l IM_MOD_RL_dds_.dll -l IM_MOD_RL_debug_.dll -l IM_MOD_RL_dib_.dll -l IM_MO 
D_RL_djvu_.dll -l IM_MOD_RL_dng_.dll -l IM_MOD_RL_dot_.dll -l IM_MOD_RL_dps_.dll 
-l IM_MOD_RL_dpx_.dll -l IM_MOD_RL_emf_.dll -l IM_MOD_RL_ept_.dll -l IM_MOD_RL_ 
exr_.dll -l IM_MOD_RL_fax_.dll -l IM_MOD_RL_fd_.dll -l IM_MOD_RL_fits_.dll -l IM 
_MOD_RL_fpx_.dll -l IM_MOD_RL_gif_.dll -l IM_MOD_RL_gradient_.dll -l IM_MOD_RL_g 
ray_.dll -l IM_MOD_RL_hald_.dll -l IM_MOD_RL_hdr_.dll -l IM_MOD_RL_histogram_.dl 
l -l IM_MOD_RL_hrz_.dll -l IM_MOD_RL_html_.dll -l IM_MOD_RL_icon_.dll -l IM_MOD_ 
RL_info_.dll -l IM_MOD_RL_inline_.dll -l IM_MOD_RL_ipl_.dll -l IM_MOD_RL_jbig_.d 
ll -l IM_MOD_RL_jnx_.dll -l IM_MOD_RL_jp2_.dll -l IM_MOD_RL_jpeg_.dll -l IM_MOD_ 
RL_label_.dll -l IM_MOD_RL_mac_.dll -l IM_MOD_RL_magick_.dll -l IM_MOD_RL_map_.d 
ll -l IM_MOD_RL_mat_.dll -l IM_MOD_RL_matte_.dll -l IM_MOD_RL_meta_.dll -l IM_MO 
D_RL_miff_.dll -l IM_MOD_RL_mono_.dll -l IM_MOD_RL_mpc_.dll -l IM_MOD_RL_mpeg_.d 
ll -l IM_MOD_RL_mpr_.dll -l IM_MOD_RL_msl_.dll -l IM_MOD_RL_mtv_.dll -l IM_MOD_R 
L_mvg_.dll -l IM_MOD_RL_null_.dll -l IM_MOD_RL_otb_.dll -l IM_MOD_RL_palm_.dll - 
l IM_MOD_RL_pango_.dll -l IM_MOD_RL_pattern_.dll -l IM_MOD_RL_pcd_.dll -l IM_MOD 
_RL_pcl_.dll -l IM_MOD_RL_pcx_.dll -l IM_MOD_RL_pdb_.dll -l IM_MOD_RL_pdf_.dll - 
l IM_MOD_RL_pes_.dll -l IM_MOD_RL_pict_.dll -l IM_MOD_RL_pix_.dll -l IM_MOD_RL_p 
lasma_.dll -l IM_MOD_RL_png_.dll -l IM_MOD_RL_pnm_.dll -l IM_MOD_RL_preview_.dll 
-l IM_MOD_RL_ps2_.dll -l IM_MOD_RL_ps3_.dll -l IM_MOD_RL_ps_.dll -l IM_MOD_RL_p 
sd_.dll -l IM_MOD_RL_pwp_.dll -l IM_MOD_RL_raw_.dll -l IM_MOD_RL_rgb_.dll -l IM_ 
MOD_RL_rla_.dll -l IM_MOD_RL_rle_.dll -l IM_MOD_RL_scr_.dll -l IM_MOD_RL_sct_.dl 
l -l IM_MOD_RL_sfw_.dll -l IM_MOD_RL_sgi_.dll -l IM_MOD_RL_stegano_.dll -l IM_MO 
D_RL_sun_.dll -l IM_MOD_RL_svg_.dll -l IM_MOD_RL_tga_.dll -l IM_MOD_RL_thumbnail 
_.dll -l IM_MOD_RL_tiff_.dll -l IM_MOD_RL_tile_.dll -l IM_MOD_RL_tim_.dll -l IM_ 
MOD_RL_ttf_.dll -l IM_MOD_RL_txt_.dll -l IM_MOD_RL_uil_.dll -l IM_MOD_RL_url_.dl 
l -l IM_MOD_RL_uyvy_.dll -l IM_MOD_RL_vicar_.dll -l IM_MOD_RL_vid_.dll -l IM_MOD 
_RL_viff_.dll -l IM_MOD_RL_wbmp_.dll -l IM_MOD_RL_webp_.dll -l IM_MOD_RL_wmf_.dl 
l -l IM_MOD_RL_wpg_.dll -l IM_MOD_RL_x_.dll -l IM_MOD_RL_xbm_.dll -l IM_MOD_RL_x 
c_.dll -l IM_MOD_RL_xcf_.dll -l IM_MOD_RL_xpm_.dll -l IM_MOD_RL_xps_.dll -l IM_M 
OD_RL_xtrn_.dll -l IM_MOD_RL_xwd_.dll -l IM_MOD_RL_ycbcr_.dll -l IM_MOD_RL_yuv_. 
dll -l mfc100.dll -l msvcp100.dll -l msvcr100.dll -l vcomp100.dll -l X11.dll -l 
Xext.dll 

回答

0

我想你想要的是有工具來轉換從BMP爲JPG? 在這種情況下,我建議只需獲得ImageMagick的靜態編譯版本convert.exe或GraphicsMagick gm.exe(您可以得到它here)並將其捆綁在您的應用內或旁邊。 然後,您可以根據需要將其稱爲外部實用程序,並完全避免這些鏈接問題(我認爲這幾乎是DLL地獄)。

編輯:解釋如何讓靜態gm.exe工作。下載並安裝GraphicsMagick-1.2.5-Q16-windows-static.exe。安裝完成後,在其安裝目錄中找到gm.exe並複製到您自己的目錄(如您的perl腳本)。現在你可以卸載GraphicsMagick - gm.exe是你所需要的。

現在,當你需要BMP轉換爲JPG,只需調用它像這樣:

system("gm convert file.bmp file.jpg"); 

你應該能夠還包gm.exe到您的PAR文件,如果你想要的。

+0

ok成功的小姐dll文件夾C:\ Users \ treeboa \ Desktop \ image \ lib \ auto \ Image \ Magick dll更改成功不工作C:\ Program Files \ ImageMagick-6.8.0-Q16 \ – TreeBoa

+0

我想隱藏該進程 我不想使用其他進程 – TreeBoa

+0

您是否意識到PAR將需要運行的文件(如ImageMagick庫)提取到臨時目錄中? http://search.cpan.org/perldoc?pp這些文件甚至可能包含腳本的源代碼!所以你並沒有真正購買任何東西。你可以輕鬆的在PAR裏面添加gm,看看這裏http://www.perlmonks.org/?node_id=805661 – mvp