返回列表 发帖

[原创]perl中GUI程序添加图片的简易方法

[watermark]
  我所说的perl写的GUI程序是使用TK模块写的。
  例如以下代码
  
  1. my $iestr=';R0lGODlhuAEoAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICA';;
复制代码
  1.   $mw->Photo(';imageweb';,-data =>$iestr);
复制代码
  1. my $web=$mw->Button(-command=>[\&web],-image => ';imageweb';,-height => 35,-width => 441,-borderwidth=>1)->place(-x=>2,-y=>0);
复制代码
  这里我添加了一个按钮,而按钮对应的操作就是sub web访问我的网站,这个不是这里要说的。

    在TK编写的程序中添加图片可以用两中方式:一种就是引用外部文件,另外一种就是使用图片文件数据(这里所谓的数据,可以是两种,一种是二进制流,另外就是BASE64格式的)。在使用图片数据时,如果 用二进制,因为二进制中会出现很多的特殊字符,很容易让程序出错。所以,我认为使用BASE64数据是比较合适的。
    BASE64数据,大家想到了什么?找转换工具?呵呵,算了吧,那么麻烦。大家还记得那个NIMDA病毒么?他的*.eml传播方式?就是把可执行程序添加到*.eml中,而在EML中,程序就以BASE64格式保存着。
    好,我们就创建一个*.eml文件,你别告诉我你不会啊。
    然后用记事本打开*.eml,其中有一段是这样的:
------=_NextPart_001_000C_01C62E7E.C7F866A0
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: base64
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv
L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PWdiMjMxMiI+DQo8TUVUQSBjb250ZW50PSJNU0hUTUwgNi4w
MC4yOTAwLjIxODAiIG5hbWU9R0VORVJBVE9SPg0KPFNUWUxFPjwvU1RZTEU+DQo8L0hFQUQ+DQo8
Qk9EWSBiZ0NvbG9yPSNmZmZmZmY+DQo8RElWPiZuYnNwOzwvRElWPjwvQk9EWT48L0hUTUw+DQo=
------=_NextPart_001_000C_01C62E7E.C7F866A0--
   中间那段“天书”就是这个文件的BASE64数据了。
   然后把你需要添加的图片向上面的方法一样做了,添加到my $iestr=';...';;那里的冒号中就可以了。
   方便吧,只需要用记事本编写代码就可以了。
   
[/watermark]

[原创]perl中GUI程序添加图片的简易方法

这个是我写的一个程序。

TOP

[原创]perl中GUI程序添加图片的简易方法


...
没有发上图片

TOP

返回列表 回复 发帖