(none) imager-devel
/ help / lists / applications / search /
 

Replacing one colour with a different (transparent) colour (PNG)

From: Aaron Dalton (
11185@xyz.molar.is)
Date: Wed 04 Feb 2004 - 01:28:23 GMT

  • Next message: Tony Cook: "Re: Replacing one colour with a different (transparent) colour (PNG)"

    OK. So I can now replace one colour with another. I am now trying to
    make the replacement colour transparent. Say I want to replace white
    with red; I have the following code:

    <code>
    my $redmap = [0 .. 255];
    my $blumap = [0 .. 255];
    my $grnmap = [0 .. 255];

    $blumap->[255] = 0;
    $grnmap->[255] = 0;

    $img->map(red=>$redmap, blue=>$blumap, green=>$grnmap);
    </code>

    This replaces all instances of (255,255,255) with (255,0,0). Now how do
    I make that red transparent? I thought I would need to do:

    <code>
    my $redmap = [0 .. 255];
    my $blumap = [0 .. 255];
    my $grnmap = [0 .. 255];
    my $alpha = [0 .. 255];

    $blumap->[255] = 0;
    $grnmap->[255] = 0;
    $alpha->[0] = 255;

    $img->map(red=>$redmap, blue=>$blumap, green=>$grnmap, alpha=>$alpha);
    </code>

    But that doesn't do anything. Any help would be greatly appreciated.

    Cheers!

    -- 
    Aaron Dalton
    http://aaron.daltons.ca
    PGPKeyID: 0x29844D7D
    



  •