1

我在理解 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'); 

我的另一个想法是使用 Photo 元素,但我找不到任何关于如何使用“-data”选项创建一个的文档。

任何帮助表示赞赏。

4

1 回答 1

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;
于 2013-07-04T08:11:19.190 回答