2013-03-03 73 views
1

我在理解PerlTk中的图像类型如何工作时遇到一些问题。PerlTk画布+像素操作

我基本上想要一种方法来创建一个“空”的图像(例如全白),然后操纵像素数据。我需要能够将像素更改为黑色或白色。

我已经尝试了几种方法,但他们中的一些似乎无法正常工作。文档似乎非常稀少而且非常古老。这是我得到的最接近的。

#args name, width, height, data 
my $bitmap = $mw->DefineBitmap('cells', 1, 1, pack("b1", "1")); 

#args x-pos, y-pos, bitmap-name 
$canvas->createBitmap(0, 0, -bitmap => 'cells'); 

另一个想法我是使用一个照片元素,但我无法找到如何建立一个与“数据”选项的任何文件。

任何帮助表示赞赏。

回答

1

如果必须设置单个像素,请使用put()方法。这里有一个完整的例子:

use Tk; 
my $mw = tkinit; 
my $p = $mw->Photo(-width => 100, height => 100); 
my $l = $mw->Label(-image => $p, -border => 0)->pack; 
for (0..99) { 
    $p->put("#000000", -to => $_,$_); 
    $p->put("#000000", -to => 100-$_,$_); 
} 
MainLoop;