PerlTk canvas+;像素操作

PerlTk canvas+;像素操作,perltk,Perltk,我在理解PerlTk中的图像类型如何工作时遇到了一些问题 我基本上想要一种方法来创建一个“空”图像(例如全白色),然后处理像素数据。我需要能够将像素更改为黑色或白色 我试过几种方法,但没有一种有效。文档似乎非常稀少,而且非常陈旧。这是我最接近的 #args name, width, height, data my $bitmap = $mw->DefineBitmap('cells', 1, 1, pack("b1", "1")); #args x-pos, y-pos, bitmap

我在理解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'); 
我的另一个想法是使用照片元素,但我找不到任何关于如何使用“-data”选项创建照片元素的文档

非常感谢您的帮助。

如果必须设置单个像素,请使用
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;
如果必须设置单个像素,请使用
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;