use Tk; my $mw = MainWindow->new; my $c = $mw->Canvas(qw/-width 200 -height 60 -background white/)->grid; my $w = 100; my $h = 20; my $i = $c->Photo(-width => $w, -height => $h); $c->createImage(100, 30, -image => $i); $i->put('#6363ce', -to => 0, 0, 2, $h); $i->put( [ '#6363ce', '#6363ce', '#9c9cff', '#9c9cff', '#ceceff', '#ceceff', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', '#efefef', ], -to => 2, 0, 4, $h); for (my $col = 4; $col < $w; $col++) { $i->put([ '#30319d', '#30319d', '#6563cd', '#6563cd', '#ceceff', '#ceceff', '#ceceff', '#ceceff', '#ceceff', '#ceceff', '#ceceff', '#ceceff', '#ceceff', '#ceceff', '#ceceff', '#ceceff', '#ceceff', '#ceceff', '#ceceff', '#ceceff', ], -to => $col, 0, $col + 1, $h); $mw->update; $mw->after(25); } MainLoop;