So the images are in color when you start?

2010/1/26 Bjørn Magnhildøen <[email protected]>:
> you're right that's needed.
>
> for offline development i use the XAMPP distribution of apache server,
> php, which includes GD and other support by default. online you have
> to check or ask if your host has it installed
> also, for the generation i load source images into an array.
> my source images, doodles, are in the folders
> http://noemata.net/time().mt_rand/larding-data/goy/
> http://noemata.net/time().mt_rand/larding-data/goy2/
> http://noemata.net/time().mt_rand/larding-data/goy3/
> (they are b/w renderings of http://noemata.net/germinal/ )
> - bjørn
>
> On Tue, Jan 26, 2010 at 12:07 PM, dave miller <[email protected]> 
> wrote:
>> to make this work do you ned to have GD library installed in php?
>> dave
>>
>> 2010/1/26 Bjørn Magnhildøen <[email protected]>
>>>
>>> it's mostly done by iterations of superimposing b/w images with a
>>> transparent background.
>>> see core code below. i'm using php so the generation is also done
>>> online, as 'larding' - line-stretching. some effects come from php's
>>> inability to handle transparent images, ie. i have to use some
>>> imagefill function ('paint bucket') to fill it with a transparent
>>> color, which has the effect also of erasing lines (if you hit fill on
>>> the wrong pixel, black instead of white) as seen clearly in the more
>>> complex drawings, which has up to thousand iterations.
>>> i'll put the code in the gallery somewhere.
>>>
>>> <?php
>>> /*
>>> $new_image = image resource identifier such as returned by
>>> imagecreatetruecolor(). must be passed by reference
>>> $image_source = image resource identifier returned by
>>> imagecreatefromjpeg, imagecreatefromgif and imagecreatefrompng. must
>>> be passed by reference
>>> */
>>> function setTransparency($new_image,$image_source)
>>>    {
>>>        global $im, $im2;
>>>
>>>            $transparencyIndex = imagecolortransparent($image_source);
>>>            $transparencyColor = array('red' => 255, 'green' => 255,
>>> 'blue' => 255);
>>>
>>>            if ($transparencyIndex >= 0) {
>>>                $transparencyColor    =
>>> imagecolorsforindex($image_source, $transparencyIndex);
>>>            }
>>>
>>>            $transparencyIndex    = imagecolorallocate($new_image,
>>> $transparencyColor['red'], $transparencyColor['green'],
>>> $transparencyColor['blue']);
>>>            imagefill($new_image, 0, 0, $transparencyIndex);
>>>             imagecolortransparent($new_image, $transparencyIndex);
>>>
>>>    }
>>>
>>> function myimagefill($im, $x, $y, $color) {
>>>        while ($i++ < 100 and $j < 10) {
>>>                $x2 = mt_rand(0,$x);
>>>                $y2 = mt_rand(0,$y);
>>>                $rgb = imagecolorat($im, $x2, $y2);
>>>                $r = ($rgb >> 16) & 0xFF;
>>>                $g = ($rgb >> 8) & 0xFF;
>>>                $b = $rgb & 0xFF;
>>> //              if ($r == 0 and $g == 0 and $b == 2) {
>>>                        imagefill($im, $x2, $y2, $color);
>>> //                      $j++;
>>> //              }
>>>        }
>>>        return $im;
>>> }
>>>
>>> function myprocess() {
>>>        global $im, $im2, $png, $i, $x, $y;
>>>        $cf = trim($png[mt_rand(0,sizeof($png)-1)]);
>>>        $im2 = imagecreatefrompng($cf);
>>>        $white = imagecolorallocate($im2, 255, 255, 255);
>>>        imagecolortransparent($im2, $white);
>>>        $im2size = getimagesize($cf);
>>>        $x2 = $im2size[0];
>>>        $y2 = $im2size[1];
>>>        if ($x2 < 150 or $y2 < 150) return;
>>>        $x3 = mt_rand(0,$x+$x2);
>>>        $y3 = mt_rand(0,$y+$y2);
>>>        $x4 = $x3 - $x2;
>>>        $y4 = $y3 - $y2;
>>>        imagefill($im2, 0, 0, $white);
>>>        $im2 = myimagefill($im2, $x2, $y2, $white);
>>>        imagecolortransparent($im2, $white);
>>>        setTransparency($im2, $im); //original
>>>        imagecopymerge($im, $im2, $x4, $y4, 0, 0, $x2, $y2, 100);
>>>        imagedestroy($im2);
>>> }
>>>
>>> function makepng() {
>>>        global $i, $im,$x,$y,$loops,$navn,$png;
>>>        $im = imagecreatetruecolor($x,$y);
>>>        $white = imagecolorallocate($im, 255, 255, 255);
>>>        imagecolortransparent($im, $white);
>>>   for ($i=0;$i<=$loops;$i++) {
>>>        myprocess();
>>>        imagecolortransparent($im, $white);
>>>   }
>>>   $navn = "larding-data/tmp.png";
>>>   imagepng($im, $navn);
>>>   imagedestroy($im);
>>> }
>>> ?>
>>>
>>> On Tue, Jan 26, 2010 at 11:16 AM, Pall Thayer <[email protected]> wrote:
>>> > You should post the scripts somewhere.
>>> >
>>> > Pall
>>> >
>>> > 2010/1/26 Bjørn Magnhildøen <[email protected]>:
>>> >> the material is originally hand scribbled, and then processed through
>>> >> scripts.
>>> >> i wanted to code a doodle machine in the beginning but couldn't get it
>>> >> to do anything interesting (in my view), so i tried doing it via real
>>> >> doodles instead and building up from those as patterns.
>>> >> thanks, bjørn
>>> >>
>>> >> On Tue, Jan 26, 2010 at 10:45 AM, dave miller
>>> >> <[email protected]> wrote:
>>> >>> these are great - are the drawings generated by code? or hand
>>> >>> scribbled?
>>> >>> dave
>>> >>>
>>> >>> 2010/1/26 <[email protected]>
>>> >>>>
>>> >>>> http://noemata.net/time().mt_rand/
>>> >>>> _______________________________________________
>>> >>>> NetBehaviour mailing list
>>> >>>> [email protected]
>>> >>>> http://www.netbehaviour.org/mailman/listinfo/netbehaviour
>>> >>>
>>> >>>
>>> >>> _______________________________________________
>>> >>> NetBehaviour mailing list
>>> >>> [email protected]
>>> >>> http://www.netbehaviour.org/mailman/listinfo/netbehaviour
>>> >>>
>>> >> _______________________________________________
>>> >> NetBehaviour mailing list
>>> >> [email protected]
>>> >> http://www.netbehaviour.org/mailman/listinfo/netbehaviour
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > *****************************
>>> > Pall Thayer
>>> > artist
>>> > http://www.this.is/pallit
>>> > *****************************
>>> > _______________________________________________
>>> > NetBehaviour mailing list
>>> > [email protected]
>>> > http://www.netbehaviour.org/mailman/listinfo/netbehaviour
>>> >
>>> _______________________________________________
>>> NetBehaviour mailing list
>>> [email protected]
>>> http://www.netbehaviour.org/mailman/listinfo/netbehaviour
>>
>>
>>
>> _______________________________________________
>> NetBehaviour mailing list
>> [email protected]
>> http://www.netbehaviour.org/mailman/listinfo/netbehaviour
>>
> _______________________________________________
> NetBehaviour mailing list
> [email protected]
> http://www.netbehaviour.org/mailman/listinfo/netbehaviour
>



-- 
*****************************
Pall Thayer
artist
http://www.this.is/pallit
*****************************
_______________________________________________
NetBehaviour mailing list
[email protected]
http://www.netbehaviour.org/mailman/listinfo/netbehaviour

Reply via email to