in reply to Coloring Intesecting Canvas Items in Perl/Tk

If you want to use Perl/Tk, you can only use bitmap stipples for now ( I hear the next release will support transparency). Tk::Zinc does have good alpha transparency. See my posts on Venn diagrams, where I give examples for Tk, Zinc, and Gtk2. Drawing venn diagrams

But you would do something like this. I shown how to define your own stipple, as well as the predefined ones.

#!/usr/bin/perl -w use strict; use Tk; my $MW = MainWindow->new(); my $canvas = $MW->Canvas( -background => 'white', ); $canvas->createPolygon( ( 10, 20 ), ( 20, 10 ), ( 250, 240 ), ( 240, 250 ), -fill => 'pink', -stipple => 'gray50', ); $canvas->createPolygon( ( 250, 20 ), ( 240, 10 ), ( 10, 240 ), ( 20, 250 ), -fill => 'blue', -stipple => 'gray12', ); my $stipple_bits = []; # important foreach my $b (1 .. 8) { push @$stipple_bits, pack('b8', '1' x $b . '.' x (8 - $b)); $MW->DefineBitmap("stipple$b" => 8, 1, $stipple_bits->[$b-1]); }; $canvas->createPolygon( ( 150, 20 ), ( 140, 10 ), ( 20, 240 ), ( 30, 250 ), -fill => 'green', -stipple => 'stipple8', ); $canvas->pack(); MainLoop();

I'm not really a human, but I play one on earth. Cogito ergo sum a bum

Replies are listed 'Best First'.
Re^2: Coloring Intesecting Canvas Items in Perl/Tk
by mwz (Pilgrim) on Jan 06, 2007 at 22:14 UTC
    Thanks Zentara. That helped a lot.

    I'm going to use the stippling idea for now but I'm going to take a good look into Zinc (because it looks pretty nice).