____ __ | __'____| |__ florian & alain's blender | _| _ | _ | 2009 januar-november '_' '___._'_____' usage: fab function function_parameters !!! Nouveau: between !!! Donc ne pas mettre de between dans landscape, il sera rajouté après !!! Le emboss dans mk_Txtr2.asm=MkTxtr2G est !!! ldrB r14,[r3],#1 ; r14=pixie up. !!! ldrB r6,[r4],#1 ; r6=pixie down. !!! and r14,r14,#&3f !!! and r6,r6,#&1f !!! sub r6,r6,r14,lsr #1 ; r6=delta. !!! addS r6,r6,#middle ; Add the middle constant. list of functions ~~~~~~~~~~~~~~~~~ bmp2rgb in.bmp red.g green.g blue.g // in.bmp peut être 1bpp, 4bpp, 8bpp ou 24bpp rgb2bmp red.g green.g blue.g out.bmp // si le nb total de couleurs est <256 créer une image 8bpp ou moins rgb2grey red.g green.g blue.g grey.g // grey:=(red+green+blue)/3 addborders left right bottom top color in.g out.g removeborders left right bottom top in.g out.g negative in.g out.g // BEWARE, pixel:=65535-pixel, maybe rsbI 255 is what you want rotate90 in.g out.g // anticlockwise rotate180 in.g out.g rotate270 in.g out.g hmirror in.g out.g // image upside down vmirror in.g out.g add in1.g in2.g out.g // arithmetical & logical operators between two images sub in1.g in2.g out.g mul in1.g in2.g out.g div in1.g in2.g out.g // in1.g divided by in2.g*/ and in1.g in2.g out.g or in1.g in2.g out.g xor in1.g in2.g out.g addI value in.g out.g // arithmetical & logical operators between image and value subI in.g value out.g rsbI value in.g out.g // rsb=reverse substract mulI factor in.g out.g divI in.g divisor out.g andI value in.g out.g orI value in.g out.g xorI value in.g out.g // if you set ClearColor to 0, then you'll have circles inside circles fillwithOs OutRMin OutRMax InRMmin InRMmax Border ClearColor CircleColor in.g out.g edge size emptycol edgecol in.g out.g // creates an edge around non empty pixels disc x y r color in.g out.g // well rectangle top bottom left right color in.g out.g rectangle2 top left length height color in.g out.g explode nbpoints in.g out.g // moves randomly nbpoints points pal2rgb in.pal in.g red.g green.g blue.g // assign pixels to a color palette setmincol mincol in.g out.g // if colcolmax then col=colmax between colmin colmax in.g out.g // if col>> fonctions avec wrap <<< fractal_landscape (ou bien fractal expansion) (+wrap) ntsc (fred) voronoi * Pour les valeurs les demander en hexa $01 ou &01... avec un char qui ne peut pas être dans un nom de fichier? On peut éviter d'avoir recours à une valeur en créant (random) une image .g avec la dite valeur, mais c'est pas très propre... * Pour certaines fonctions (and, or, add...) lorsqu'une des images est plus grande que l'autre, faire l'opération sur la partie commune (de taille min(w0;w1)*min(h0;h1) et qui part du bottom left). * utiliser une clé usb en guise de ramdisk? * on pourrait tout faire avec des .g en 16 bits (ainsi rgb2grey serait emulé) * faire les fonctions en wrap par défaut. Si l'utilisateur n'en veut pas il utilisera un addborders+removeborders