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
