i've experimented superimposing colors doodles, they soon became very
messy - they stand out to much and you loose the flow in the picture.
another conclusion i've made so far is that the smaller ones work
since they attain some figure-motive/situation, while the bigger work
as a flow of lines. the intermediary seem more clumsy and assembled.
the bigger ones might have a traditional on-the-wall value offline or
online. i imagine they could be printed out, or projected on a wall,
directly from the slideshow function fullscreen. if you had a computer
in the room a user could be an artist/curator on the exhibition while
it's being showed. if anybody's interested exhibiting it
online/offline please contact me. what i think might be interesting is
to make a collaborative doodle machine, which in addition adds
user-uploaded doodles to a database, with some more advanced
processing options for generation.

bjørn

On Tue, Jan 26, 2010 at 2:30 PM, Pall Thayer <[email protected]> wrote:
> The black and white has a nice aesthetic to it that works quite well
> with these images. Regardless of whether it was a forced decision or
> an aesthetic one.
>
> 2010/1/26 Bjørn Magnhildøen <[email protected]>:
>> yes the scripts grab a b/w picture with a transparent background.
>> the original doodles are in color but i reduced them before putting
>> them i the doodle library.
>> for example http://noemata.net/germinal/sdlfhgkj/199-3-1=isocherbset.jpg
>> http://noemata.net/germinal/sdlfhgkj/199-5=ldromaaps.jpg
>> http://noemata.net/germinal/ksfdaoiu/199-111=LSJ.jpg
>> with an unreduced color image i wasn't able to superimpose. one could
>> try though to reduce to 2-5 colors and from that generate color
>> doodles. i haven't come that far yet but it's possible.
>>
>> bjørn
>>
>>
>> On Tue, Jan 26, 2010 at 12:39 PM, Pall Thayer <[email protected]> wrote:
>>> 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
>>>
>> _______________________________________________
>> 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

Reply via email to