Advertisement
Guest User

mattelaquarius_pictfiltercolourng4_201101221716.sdlbas

a guest
Jan 22nd, 2011
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SdlBasic 31.38 KB | None | 0 0
  1. #! /usr/bin/sdlbrt
  2.  
  3. '- picture converter - Mattel Aquarius - colour version (based on a zx81 picture converter) - Paulo Silva - Jan'11 - GPL licence
  4.  
  5. finp$="lena_80x72.jpg"
  6.  
  7. finp2$="_tmpr_m.png"
  8. shell("convert "+finp$+" "+finp2$)
  9.  
  10. onlgr=0
  11. xed=0:yed=0
  12. open finp2$ for input as #1
  13.   for i=1 to 16:n=readbyte(1):next:for i=1 to 2:n=readbyte(1):next
  14.   xed=readbyte(1)*256:xed=xed+readbyte(1)
  15.   for i=1 to 2:n=readbyte(1):next:yed=readbyte(1)*256:yed=yed+readbyte(1)
  16.   close #1
  17.  
  18. xed2a=xed*4:xed2disp=xed2a:if xed2disp<(160+xed) then: xed2disp=160+xed:end if
  19. yed2a=yed*(8/3):yed2disp=yed2a+128:if yed2disp<(yed2a+yed) then:yed2disp=yed2a+yed:end if
  20.  
  21. setdisplay(xed2disp,yed2disp,32,1):paper(0xCC8844):ink(0):pen(0):cls
  22. loadimage(finp2$,1): pasteicon(160,yed2a,1)
  23.  
  24. function distrgb(hxc1,hxc2)
  25.   hxc1t=hxc1:hxc2t=hxc2
  26.   b1=hxc1t mod 256:hxc1t=hxc1t/256:b2=hxc2t mod 256:hxc2t=hxc2t/256:gdf=abs(b2-b1)
  27.   g1=hxc1t mod 256:hxc1t=hxc1t/256:g2=hxc2t mod 256:hxc2t=hxc2t/256:gdf=abs(g2-g1)
  28.   r1=hxc1t mod 256:hxc1t=hxc1t/256:r2=hxc2t mod 256:hxc2t=hxc2t/256:rdf=abs(r2-r1)
  29.   return sqr((rdg^2)+(gdf^2)+(bdf^2))
  30.   end function
  31.  
  32. function itcf(hxc1,hxc2,amnt)
  33.   hxc1t=hxc1:hxc2t=hxc2:amntt=amnt
  34.   b1=hxc1t mod 256:hxc1t=hxc1t/256:b2=hxc2t mod 256:hxc2t=hxc2t/256:gdf=abs(b2-b1)
  35.   g1=hxc1t mod 256:hxc1t=hxc1t/256:g2=hxc2t mod 256:hxc2t=hxc2t/256:gdf=abs(g2-g1)
  36.   r1=hxc1t mod 256:hxc1t=hxc1t/256:r2=hxc2t mod 256:hxc2t=hxc2t/256:rdf=abs(r2-r1)
  37.   r3=((r1*amntt)+(r2*(255-amntt)))/255
  38.   g3=((g1*amntt)+(g2*(255-amntt)))/255
  39.   b3=((b1*amntt)+(b2*(255-amntt)))/255
  40.   'return rgb(r3,g3,b3)    
  41.   return (r3*65536)+(g3*256)+b3
  42.   end function
  43.  
  44. sub filpic7(qxx1,qyy1,qstq$)
  45.   yyt=qyy1:xxt=qxx1:tstt$=qstq$
  46.   for qq=0 to len(tstt$)-1
  47.     qu=(((val(mid$(tstt$,qq+1,1)))*255)/7):ink(rgb(qu,qu,qu)):dot(xxt+qq,yyt):next
  48.   end sub
  49.  
  50. function rfromrgb(vrgb1)
  51.   tvrgb1=vrgb1
  52.   return int(tvrgb1/65536)
  53.   end function
  54. function gfromrgb(vrgb1)
  55.   tvrgb1=vrgb1
  56.   return bitwiseand(int(tvrgb1/256),255)
  57.   end function
  58. function bfromrgb(vrgb1)
  59.   tvrgb1=vrgb1
  60.   return bitwiseand(tvrgb1,255)
  61.   end function
  62. sub filpic7c(qxx1,qyy1,cq1,cq2,qstq$)
  63.   yyt=qyy1:xxt=qxx1:tstt$=qstq$
  64.   cq1q=cq1:cq2q=cq2
  65.   bq1=bfromrgb(cq1q):gq1=gfromrgb(cq1q):rq1=rfromrgb(cq1q)
  66.   bq2=bfromrgb(cq2q):gq2=gfromrgb(cq2q):rq2=rfromrgb(cq2q)
  67.   for qq=0 to len(tstt$)-1
  68.     qv=val(mid$(tstt$,qq+1,1)):qvi=7-qv
  69.     bd1=int(((bq1*qv)+(bq2*qvi))/7):rd1=int(((rq1*qv)+(rq2*qvi))/7):gd1=int(((gq1*qv)+(gq2*qvi))/7)
  70.     rgbout=(rd1*65536)+(gd1*256)+(bd1)
  71.     ink(rgbout):dot(xxt+qq,yyt)
  72.     next
  73.   end sub
  74.  
  75. dim paleta[16]
  76. paleta[00]=0x111111:paleta[01]=0xFF1111:paleta[02]=0x11FF11:paleta[03]=0xFFEE11
  77. paleta[04]=0x2222DD:paleta[05]=0xFF11FF:paleta[06]=0x33CCCC:paleta[07]=0xFFFFFF
  78. paleta[08]=0xCCCCCC:paleta[09]=0x22AAAA:paleta[10]=0xCC22CC:paleta[11]=0x441188
  79. paleta[12]=0xFFFF77:paleta[13]=0x22C844:paleta[14]=0xAA2222:paleta[15]=0x333333
  80.  
  81. filpic7(0,yed2a+000,"77000077707770777077707770077077777777777700007777777777777777777770077777700777777700007777777777777777000077777777777700000077")
  82. filpic7(0,yed2a+001,"77077777707707777077077777070777777077777077770777777077770777777700007777700777777770007777707777077777000777777700007700000077")
  83. filpic7(0,yed2a+002,"77077777707077777070777770707777777777770770077077777707707777777070070777700777777700007777000770007777000077777700007777000077")
  84. filpic7(0,yed2a+003,"70000777770700777707007777070077700000770707777000000000000000007770077777700777777000707770007777000777070007777777777777007777")
  85. filpic7(0,yed2a+004,"77077777707770777070707770707077777777770707777000000000000000007770077777700777770007770700077777700070777000777000000777007777")
  86. filpic7(0,yed2a+005,"70077777777707777770007777700077777077770770077077777707707777777770077770700707700077770000777777770000777700070000000077007777")
  87. filpic7(0,yed2a+006,"07070077777000777777707777777077777777777077770777777077770777777770077777000077770777770007777777777000777770770000000077007777")
  88. filpic7(0,yed2a+007,"77777777777777777777777777777777777777777700007777777777777777777770077777700777777777770000777777770000777777770000000077007777")
  89. filpic7(0,yed2a+008,"00000000700000007700007777777777700000077777777770000077777777777000007777700777777777777777000077777777000077770000777777777777")
  90. filpic7(0,yed2a+009,"77000077700000007700007777000077770000777700077777000007770007777700000077000077777777777777000077777777000077770000777777777777")
  91. filpic7(0,yed2a+010,"77000077700007777700007777000077700770077700007777700700770000777770000070077007777777777777000077777777000077770000777777777777")
  92. filpic7(0,yed2a+011,"77000077777007777700007777777777700770077777777777700007777777777700070077077077777777777777000077777777000077770000777777777777")
  93. filpic7(0,yed2a+012,"77000077777007777700007770000007000770007700077777700077770007700000770000077000777700007777777700007777777777777777000000000000")
  94. filpic7(0,yed2a+013,"77777777777007777700007700000000007777007000077777700777700007700077770007000070777700007777777700007777777777777777000000000000")
  95. filpic7(0,yed2a+014,"77777777777007777700007707000070007777007000007777000777007000000777777707700770777700007777777700007777777777777777000000000000")
  96. filpic7(0,yed2a+015,"77777777777007777700007700700700007777007000000077000777007000777777777700700700777700007777777700007777777777777777000000000000")
  97. filpic7(0,yed2a+016,"77777777777077777707077777070777777077777007777777077777777707777770777777707777777077777777777777777777777777777777777777777777")
  98. filpic7(0,yed2a+017,"77777777777077777707077777070777770000777007707770707777777707777707777777770777707070777770777777777777777777777777777777777077")
  99. filpic7(0,yed2a+018,"77777777777077777707077770000077707077777777077770707777777077777077777777777077770007777770777777777777777777777777777777770777")
  100. filpic7(0,yed2a+019,"77777777777077777777777777070777770007777770777777077777777777777077777777777077777077777000007777777777700000777777777777707777")
  101. filpic7(0,yed2a+020,"77777777777077777777777770000077777070777707777770707077777777777077777777777077770007777770777777707777777777777777777777077777")
  102. filpic7(0,yed2a+021,"77777777777777777777777777070777700007777077007770770777777777777707777777770777707070777770777777707777777777777777777770777777")
  103. filpic7(0,yed2a+022,"77777777777077777777777777070777777077777777007777007077777777777770777777707777777077777777777777077777777777777770777777777777")
  104. filpic7(0,yed2a+023,"77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777")
  105. filpic7(0,yed2a+024,"77000777777077777700077770000077777707777000007777700077700000777700077777000777777777777777777777770777777777777707777777000777")
  106. filpic7(0,yed2a+025,"70777077770077777077707777777077777007777077777777077777777770777077707770777077777777777777777777707777777777777770777770777077")
  107. filpic7(0,yed2a+026,"70770077777077777777707777770777770707777000077770777777777707777077707770777077777077777770777777077777700000777777077777770777")
  108. filpic7(0,yed2a+027,"70707077777077777770077777700777707707777777707770000777777077777700077777000077777777777777777770777777777777777777707777707777")
  109. filpic7(0,yed2a+028,"70077077777077777707777777777077700007777777707770777077770777777077707777777077777077777770777777077777700000777777077777707777")
  110. filpic7(0,yed2a+029,"70777077777077777077777770777077777707777077707770777077770777777077707777770777777777777770777777707777777777777770777777777777")
  111. filpic7(0,yed2a+030,"77000777770007777000007777000777777707777700077777000777770777777700077770007777777777777707777777770777777777777707777777707777")
  112. filpic7(0,yed2a+031,"77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777")
  113. filpic7(0,yed2a+032,"77000777777077777000077777000777700007777000007770000077770000777077707777000777777770777077707770777777707770777077707777000777")
  114. filpic7(0,yed2a+033,"70777077770707777077707770777077707770777077777770777777707777777077707777707777777770777077077770777777700700777077707770777077")
  115. filpic7(0,yed2a+034,"70707077707770777077707770777777707770777077777770777777707777777077707777707777777770777070777770777777707070777007707770777077")
  116. filpic7(0,yed2a+035,"70700077707770777000077770777777707770777000077770000777707777777000007777707777777770777007777770777777707070777070707770777077")
  117. filpic7(0,yed2a+036,"70700777700000777077707770777777707770777077777770777777707700777077707777707777777770777070777770777777707770777077007770777077")
  118. filpic7(0,yed2a+037,"70777777707770777077707770777077707770777077777770777777707770777077707777707777707770777077077770777777707770777077707770777077")
  119. filpic7(0,yed2a+038,"77000777707770777000077777000777700007777000007770777777770000777077707777000777770007777077707770000077707770777077707777000777")
  120. filpic7(0,yed2a+039,"77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777")
  121. filpic7(0,yed2a+040,"70000777770007777000077777000777700000777077707770777077707770777077707770777077700000777000007777777777700000777777777777777777")
  122. filpic7(0,yed2a+041,"70777077707770777077707770777077777077777077707770777077707770777077707770777077777770777007777770777777777700777777777777777777")
  123. filpic7(0,yed2a+042,"70777077707770777077707770777777777077777077707770777077707770777707077777070777777707777007777777077777777700777770777777777777")
  124. filpic7(0,yed2a+043,"70000777707770777000077777000777777077777077707770777077707070777770777777707777777077777007777777707777777700777707077777777777")
  125. filpic7(0,yed2a+044,"70777777707070777070777777777077777077777077707770777077707070777707077777707777770777777007777777770777777700777077707777777777")
  126. filpic7(0,yed2a+045,"70777777707707777077077770777077777077777077707777070777700700777077707777707777707777777007777777777077777700777777777777777777")
  127. filpic7(0,yed2a+046,"70777777770070777077707777000777777077777700077777707777707770777077707777707777700000777000007777777777700000777777777770000077")
  128. filpic7(0,yed2a+047,"77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777")
  129. filpic7(0,yed2a+048,"77077777777777777077777777777777777770777777777777770777777777777077777777707777777707777077777777007777777777777777777777777777")
  130. filpic7(0,yed2a+049,"77077777777777777077777777777777777770777777777777707777777777777077777777777777777777777077777777707777777777777777777777777777")
  131. filpic7(0,yed2a+050,"77707777770070777070077777700077770070777700077777707777770070777000077777007777777707777077077777707777700700777000077777000777")
  132. filpic7(0,yed2a+051,"77777777707700777007707777077777707700777077707777000777707700777077707777707777777707777070777777707777707077077077707770777077")
  133. filpic7(0,yed2a+052,"77777777707770777077707777077777707770777000007777707777707770777077707777707777777707777000777777707777707077077077707770777077")
  134. filpic7(0,yed2a+053,"77777777707700777007707777077777707700777077777777707777770000777077707777707777777707777077077777707777707077077077707770777077")
  135. filpic7(0,yed2a+054,"77777777770070777070077777700077770070777700077777707777777770777077707777000777777707777077707777000777707077077077707777000777")
  136. filpic7(0,yed2a+055,"77777777777777777777777777777777777777777777777777777777770007777777777777777777770077777777777777777777777777777777777777777777")
  137. filpic7(0,yed2a+056,"77777777777777777777777777777777777077777777777777777777777777777777777777777777777777777777007777707777700777777777777700000000")
  138. filpic7(0,yed2a+057,"77777777777777777777777777777777777077777777777777777777777777777777777777777777777777777770777777707777777077777777777700000000")
  139. filpic7(0,yed2a+058,"70700777770070777070077777000077700000777077707770777077707077077077707777077077700000777770777777707777777077777777707700000000")
  140. filpic7(0,yed2a+059,"70077077707700777007777770777777777077777077707770777077707077077707077777077077777707777707777777777777777707777700077700000000")
  141. filpic7(0,yed2a+060,"70777077707770777077777777000777777077777077707777070777707077077770777777077077777077777770777777707777777077777077777700000000")
  142. filpic7(0,yed2a+061,"70077077707700777077777777777077777077777077707777070777707077077707077777000077770777777770777777707777777077777777777700000000")
  143. filpic7(0,yed2a+062,"70700777770070777077777770000777777077777700007777707777770700777077707777777077700000777777007777707777700777777777777700000000")
  144. filpic7(0,yed2a+063,"70777777777770077777777777777777777777777777777777777777777777777777777777000777777777777777777777777777777777777777777700000000")
  145. filpic7(0,yed2a+064,"77777777077777777777777777000007777777770707777707070707777777777777777777777777777007777700007777777777770000070077777777700777")
  146. filpic7(0,yed2a+065,"00000000077777777770007770000077777777777070777770707070777007777777777777777777777007777770077777700077000000770000777777700777")
  147. filpic7(0,yed2a+066,"00000000077777777700007700700777777777770707777707070707770000777777777700000000770000770070070077000077000007770000007777000077")
  148. filpic7(0,yed2a+067,"00000000077777777777777770000777777777777070777770707070700000077777777700000000700000070000000077777777007000770000000077000077")
  149. filpic7(0,yed2a+068,"00000000077777777770007777000777070707070707777707070707700000077777777700000000000000007000000707700077007700000000000070000007")
  150. filpic7(0,yed2a+069,"00000000077777777770000777700777707070707070777770707070770000777777777700000000007007007700007707700007007777000000007770000007")
  151. filpic7(0,yed2a+070,"00000000077777777700000777700077070707070707777707070707777007770000000000000000777007777770077700000700777777700000777700000000")
  152. filpic7(0,yed2a+071,"00000000077777770000000777700077707070707070777770707070777777770000000000000000770000777770077777000700777777770077777700000000")
  153. filpic7(0,yed2a+072,"77777777000000077700007777000077070707077777070777000077007777770007777700007777770077777777007777777777777777777777770000000000")
  154. filpic7(0,yed2a+073,"77777777000000077070770770770707707070707777707070000007007777770007777700007777770007777770007770077007777007777777000000000000")
  155. filpic7(0,yed2a+074,"77777777000000077700007777000077070707077777070700000000007777770007777700007777077000777700077070000007000000007700000070000007")
  156. filpic7(0,yed2a+075,"77777777000000070777777777777770707070777777707000000000007777770007777700007777000000000000000070777707007777000000000070000007")
  157. filpic7(0,yed2a+076,"77777777000000070700007777000070777777777777070700000000007777770007777700007777000000000000000000777700707777070000000077000077")
  158. filpic7(0,yed2a+077,"77777777000000070000000000000000777777777777707000000000007777770007777700007777077000777700077000000000700000077700000077000077")
  159. filpic7(0,yed2a+078,"77777777000000077700007007000077777777777777070770000007007777770007777700007777770007777770007777700777700770077777000077700777")
  160. filpic7(0,yed2a+079,"00000000000000077700007007000077777777777777707077000077007777770007777700007777770077777777007777777777777777777777770077700777")
  161. filpic7(0,yed2a+080,"77777777000077777777000000000000777777770000777777770000000000007777777700007777777700000000000077777777000077777777000000000000")
  162. filpic7(0,yed2a+081,"77777777000077777777000000000000777777770000777777770000000000007777777700007777777700000000000077777777000077777777000000000000")
  163. filpic7(0,yed2a+082,"77777777000077777777000000000000777777770000777777770000000000007777777700007777777700000000000077777777000077777777000000000000")
  164. filpic7(0,yed2a+083,"77777777777777777777777777777777000077770000777700007777000077777777000077770000777700007777000000000000000000000000000000000000")
  165. filpic7(0,yed2a+084,"77777777777777777777777777777777000077770000777700007777000077777777000077770000777700007777000000000000000000000000000000000000")
  166. filpic7(0,yed2a+085,"77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777")
  167. filpic7(0,yed2a+086,"77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777")
  168. filpic7(0,yed2a+087,"77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777")
  169. filpic7(0,yed2a+088,"77777777000077777777000000000000777777770000777777770000000000007777777700007777777700000000000077777777000077777777000000000000")
  170. filpic7(0,yed2a+089,"77777777000077777777000000000000777777770000777777770000000000007777777700007777777700000000000077777777000077777777000000000000")
  171. filpic7(0,yed2a+090,"77777777000077777777000000000000777777770000777777770000000000007777777700007777777700000000000077777777000077777777000000000000")
  172. filpic7(0,yed2a+091,"77777777777777777777777777777777000077770000777700007777000077777777000077770000777700007777000000000000000000000000000000000000")
  173. filpic7(0,yed2a+092,"77777777777777777777777777777777000077770000777700007777000077777777000077770000777700007777000000000000000000000000000000000000")
  174. filpic7(0,yed2a+093,"00007777000077770000777700007777000077770000777700007777000077770000777700007777000077770000777700007777000077770000777700007777")
  175. filpic7(0,yed2a+094,"00007777000077770000777700007777000077770000777700007777000077770000777700007777000077770000777700007777000077770000777700007777")
  176. filpic7(0,yed2a+095,"00007777000077770000777700007777000077770000777700007777000077770000777700007777000077770000777700007777000077770000777700007777")
  177. filpic7(0,yed2a+096,"77777770077777770000000000000077777777777770077777777777777700007770077777777777777777707777770077700777777007777777777777700777")
  178. filpic7(0,yed2a+097,"77777700007777770000000000000077777777777700007777777777777700007770077777777777777777077777700077700777777007777777777777700777")
  179. filpic7(0,yed2a+098,"77777000000777777000000700000077770000777000000777777777777770007770077777777777777770777777000077700777777007777777777777700777")
  180. filpic7(0,yed2a+099,"77770000000077777700007700000077770000770000000077700777777777000000000077777777777707777777000000000000777000000000077777700000")
  181. filpic7(0,yed2a+100,"77700000000007777777777700000077770000770000000077700777777777770000000000777777777077777777000000000000777000000000077777700000")
  182. filpic7(0,yed2a+101,"77000000000000777777777700000077770000777000000777777777777777777770077700077777770777777777000077777777777007777770077777777777")
  183. filpic7(0,yed2a+102,"70000000000000077777777700000077777777777700007777777777777777777770077700007777707777777777700077777777777007777770077777777777")
  184. filpic7(0,yed2a+103,"00000000000000007777777700000077777777777770077777777777777777777770077700007777077777777777770077777777777007777770077777777777")
  185. filpic7(0,yed2a+104,"77770770707077077777777777777777700770077770077777700777777777770777777000007777077777770077777777777777777007777777777777700777")
  186. filpic7(0,yed2a+105,"77077777707770777777777777707777000000007700007777700777777777777077770700007777707777770007777777777777777007777777777777700777")
  187. filpic7(0,yed2a+106,"77777077770700707777777777070077000000007770077777700777777777777707707700077777770777770000777777777777777007777777777777700777")
  188. filpic7(0,yed2a+107,"07777777007770777777777777000707000000007077770777700777777777777770077700777777777077770000777700000000000007777770000000000777")
  189. filpic7(0,yed2a+108,"77707770777077707700007770700077700000070007700077700777777777007770077777777777777707770000777700000000000007777770000000000777")
  190. filpic7(0,yed2a+109,"70777777070070777000000777007077770000777077770777700777777770007707707777777777777770770000777777700777777007777770077777777777")
  191. filpic7(0,yed2a+110,"77770777770777000000000077777077777007777770077777700777777000007077770777777777777777070007777777700777777007777770077777777777")
  192. filpic7(0,yed2a+111,"77777707707707070000000077777777777007777700007777700777777000000777777077777777777777700077777777700777777007777770077777777777")
  193. filpic7(0,yed2a+112,"77777777000077777777000000000000777777770000777777770000000000007777777700007777777700000000000077777777000077777777000000000000")
  194. filpic7(0,yed2a+113,"77777777000077777777000000000000777777770000777777770000000000007777777700007777777700000000000077777777000077777777000000000000")
  195. filpic7(0,yed2a+114,"77777777000077777777000000000000777777770000777777770000000000007777777700007777777700000000000077777777000077777777000000000000")
  196. filpic7(0,yed2a+115,"77777777777777777777777777777777000077770000777700007777000077777777000077770000777700007777000000000000000000000000000000000000")
  197. filpic7(0,yed2a+116,"77777777777777777777777777777777000077770000777700007777000077777777000077770000777700007777000000000000000000000000000000000000")
  198. filpic7(0,yed2a+117,"77770000777700007777000077770000777700007777000077770000777700007777000077770000777700007777000077770000777700007777000077770000")
  199. filpic7(0,yed2a+118,"77770000777700007777000077770000777700007777000077770000777700007777000077770000777700007777000077770000777700007777000077770000")
  200. filpic7(0,yed2a+119,"77770000777700007777000077770000777700007777000077770000777700007777000077770000777700007777000077770000777700007777000077770000")
  201. filpic7(0,yed2a+120,"77777777000077777777000000000000777777770000777777770000000000007777777700007777777700000000000077777777000077777777000000000000")
  202. filpic7(0,yed2a+121,"77777777000077777777000000000000777777770000777777770000000000007777777700007777777700000000000077777777000077777777000000000000")
  203. filpic7(0,yed2a+122,"77777777000077777777000000000000777777770000777777770000000000007777777700007777777700000000000077777777000077777777000000000000")
  204. filpic7(0,yed2a+123,"77777777777777777777777777777777000077770000777700007777000077777777000077770000777700007777000000000000000000000000000000000000")
  205. filpic7(0,yed2a+124,"77777777777777777777777777777777000077770000777700007777000077777777000077770000777700007777000000000000000000000000000000000000")
  206. filpic7(0,yed2a+125,"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
  207. filpic7(0,yed2a+126,"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
  208. filpic7(0,yed2a+127,"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
  209.  
  210. for y1=0 to (yed/3)-1:for x1=0 to (xed/2)-1
  211.     rct=0:gct=0:bct=0
  212.     for y2=0 to 2
  213.       for x2=0 to 1
  214.         c=point((x1*2)+x2+160,(y1*3)+y2+yed2a)
  215.         b=c mod 256:c=int(c/256)
  216.         g=c mod 256:c=int(c/256)
  217.         r=c mod 256:c=int(c/256)
  218.         rct+=r:gct+=g:bct+=b
  219.         next:next
  220.     rv=int(rct/6):gv=int(gct/6):bv=int(bct/6)
  221.     dist=768:iks=0:pps=0
  222.     for ik=0 to 14
  223.       for pp=ik to 15
  224.         for itct=1 to 7 step 2
  225.           vv=(rv*65536)+(gv*256)+bv
  226.           dist2=distrgb( vv,itcf(paleta[ik],paleta[pp],int((itct*255)/8)) )
  227.           if dist2<dist then: dist=dist2:iks=ik:pps=pp:end if
  228.           next:next:next
  229.  
  230.     '- por alguma razão, os valores iks e pps parecem aleatórios
  231.     'iksv=paleta[iks]:ppsv=paleta[pps]
  232.  
  233. filpic7c(128,yed2a+000,paleta[iks],paleta[pps],"45555555674566665555717667175514"):filpic7c(128,yed2a+001,paleta[iks],paleta[pps],"47555555564543345555544554453346")
  234. filpic7c(128,yed2a+002,paleta[iks],paleta[pps],"56657676774566665555671771761147"):filpic7c(128,yed2a+003,paleta[iks],paleta[pps],"22214455335633563255777077070777")
  235. filpic7c(128,yed2a+004,paleta[iks],paleta[pps],"55554433334553453233747447474444"):filpic7c(128,yed2a+005,paleta[iks],paleta[pps],"77554422442345225633707707777000")
  236. filpic7c(128,yed2a+006,paleta[iks],paleta[pps],"77575555454657765766566777777776"):filpic7c(128,yed2a+007,paleta[iks],paleta[pps],"77677745466656775775465667667767")
  237. filpic7c(128,yed2a+008,paleta[iks],paleta[pps],"77677766677556776767677767776777"):filpic7c(128,yed2a+009,paleta[iks],paleta[pps],"55575555654555555555777766776755")
  238. filpic7c(128,yed2a+010,paleta[iks],paleta[pps],"55576665555556675565676757557667"):filpic7c(128,yed2a+011,paleta[iks],paleta[pps],"56565656765656675657776776776767")
  239. filpic7c(128,yed2a+012,paleta[iks],paleta[pps],"45564556454545565556755657455555"):filpic7c(128,yed2a+013,paleta[iks],paleta[pps],"45555557555757565557754757555555")
  240. filpic7c(128,yed2a+014,paleta[iks],paleta[pps],"56665656565667556656566656666656"):filpic7c(128,yed2a+015,paleta[iks],paleta[pps],"45554555465555555555553667547777")
  241. filpic7c(128,yed2a+016,paleta[iks],paleta[pps],"56554656575555455657674766746677"):filpic7c(128,yed2a+017,paleta[iks],paleta[pps],"67566656675667666667564677557756")
  242. filpic7c(128,yed2a+018,paleta[iks],paleta[pps],"57775777757766775767765757676777"):filpic7c(128,yed2a+019,paleta[iks],paleta[pps],"77554556554557555557754657455555")
  243. filpic7c(128,yed2a+020,paleta[iks],paleta[pps],"77565666565667556656666656566656"):filpic7c(128,yed2a+021,paleta[iks],paleta[pps],"67776777577777677777776657577700")
  244. filpic7c(128,yed2a+022,paleta[iks],paleta[pps],"45555755565555455655565767676600"):filpic7c(128,yed2a+023,paleta[iks],paleta[pps],"56556756675567656655567667577700")
  245. filpic7c(128,yed2a+024,paleta[iks],paleta[pps],"33576533774744667766554465232655"):filpic7c(128,yed2a+025,paleta[iks],paleta[pps],"00575435554744337700222254230233")
  246. filpic7c(128,yed2a+026,paleta[iks],paleta[pps],"00573254444744662200445522652611"):filpic7c(128,yed2a+027,paleta[iks],paleta[pps],"77024554447422472707355355556211")
  247. filpic7c(128,yed2a+028,paleta[iks],paleta[pps],"77023443567400472707222233332033"):filpic7c(128,yed2a+029,paleta[iks],paleta[pps],"44023223777422472707355355556255")
  248. filpic7c(128,yed2a+030,paleta[iks],paleta[pps],"77177111670761017616701066066000"):filpic7c(128,yed2a+031,paleta[iks],paleta[pps],"77577555472745257454725244244222")
  249. filpic7c(128,yed2a+032,paleta[iks],paleta[pps],"77777777676767677676767666666666"):filpic7c(128,yed2a+033,paleta[iks],paleta[pps],"77177111670761017616701066066000")
  250. filpic7c(128,yed2a+034,paleta[iks],paleta[pps],"57475545270725055444524224042202"):filpic7c(128,yed2a+035,paleta[iks],paleta[pps],"17171717070707071616161606060606")
  251. filpic7c(128,yed2a+036,paleta[iks],paleta[pps],"74471104664477715577757255556755"):filpic7c(128,yed2a+037,paleta[iks],paleta[pps],"61165504441166753357667033533663")
  252. filpic7c(128,yed2a+038,paleta[iks],paleta[pps],"20027704664477775517577266555576"):filpic7c(128,yed2a+039,paleta[iks],paleta[pps],"65557766225555775517572766557655")
  253. filpic7c(128,yed2a+040,paleta[iks],paleta[pps],"66455544225555755557660733356336"):filpic7c(128,yed2a+041,paleta[iks],paleta[pps],"75541166554455615577752755555567")
  254. filpic7c(128,yed2a+042,paleta[iks],paleta[pps],"77177111670761017616701066066000"):filpic7c(128,yed2a+043,paleta[iks],paleta[pps],"75557454452544247252705042224020")
  255. filpic7c(128,yed2a+044,paleta[iks],paleta[pps],"71717171616161617070707060606060"):filpic7c(128,yed2a+045,paleta[iks],paleta[pps],"77177111670761017616701066066000")
  256. filpic7c(128,yed2a+046,paleta[iks],paleta[pps],"55455444250524045242504022022000"):filpic7c(128,yed2a+047,paleta[iks],paleta[pps],"11111111010101011010101000000000")
  257. yed2b=yed2a+48
  258. filpic7c(128,yed2b+000,paleta[pps],paleta[iks],"45555555674566665555717667175514"):filpic7c(128,yed2b+001,paleta[pps],paleta[iks],"47555555564543345555544554453346")
  259. filpic7c(128,yed2b+002,paleta[pps],paleta[iks],"56657676774566665555671771761147"):filpic7c(128,yed2b+003,paleta[pps],paleta[iks],"22214455335633563255777077070777")
  260. filpic7c(128,yed2b+004,paleta[pps],paleta[iks],"55554433334553453233747447474444"):filpic7c(128,yed2b+005,paleta[pps],paleta[iks],"77554422442345225633707707777000")
  261. filpic7c(128,yed2b+006,paleta[pps],paleta[iks],"77575555454657765766566777777776"):filpic7c(128,yed2b+007,paleta[pps],paleta[iks],"77677745466656775775465667667767")
  262. filpic7c(128,yed2b+008,paleta[pps],paleta[iks],"77677766677556776767677767776777"):filpic7c(128,yed2b+009,paleta[pps],paleta[iks],"55575555654555555555777766776755")
  263. filpic7c(128,yed2b+010,paleta[pps],paleta[iks],"55576665555556675565676757557667"):filpic7c(128,yed2b+011,paleta[pps],paleta[iks],"56565656765656675657776776776767")
  264. filpic7c(128,yed2b+012,paleta[pps],paleta[iks],"45564556454545565556755657455555"):filpic7c(128,yed2b+013,paleta[pps],paleta[iks],"45555557555757565557754757555555")
  265. filpic7c(128,yed2b+014,paleta[pps],paleta[iks],"56665656565667556656566656666656"):filpic7c(128,yed2b+015,paleta[pps],paleta[iks],"45554555465555555555553667547777")
  266. filpic7c(128,yed2b+016,paleta[pps],paleta[iks],"56554656575555455657674766746677"):filpic7c(128,yed2b+017,paleta[pps],paleta[iks],"67566656675667666667564677557756")
  267. filpic7c(128,yed2b+018,paleta[pps],paleta[iks],"57775777757766775767765757676777"):filpic7c(128,yed2b+019,paleta[pps],paleta[iks],"77554556554557555557754657455555")
  268. filpic7c(128,yed2b+020,paleta[pps],paleta[iks],"77565666565667556656666656566656"):filpic7c(128,yed2b+021,paleta[pps],paleta[iks],"67776777577777677777776657577700")
  269. filpic7c(128,yed2b+022,paleta[pps],paleta[iks],"45555755565555455655565767676600"):filpic7c(128,yed2b+023,paleta[pps],paleta[iks],"56556756675567656655567667577700")
  270. filpic7c(128,yed2b+024,paleta[pps],paleta[iks],"33576533774744667766554465232655"):filpic7c(128,yed2b+025,paleta[pps],paleta[iks],"00575435554744337700222254230233")
  271. filpic7c(128,yed2b+026,paleta[pps],paleta[iks],"00573254444744662200445522652611"):filpic7c(128,yed2b+027,paleta[pps],paleta[iks],"77024554447422472707355355556211")
  272. filpic7c(128,yed2b+028,paleta[pps],paleta[iks],"77023443567400472707222233332033"):filpic7c(128,yed2b+029,paleta[pps],paleta[iks],"44023223777422472707355355556255")
  273. filpic7c(128,yed2b+030,paleta[pps],paleta[iks],"77177111670761017616701066066000"):filpic7c(128,yed2b+031,paleta[pps],paleta[iks],"77577555472745257454725244244222")
  274. filpic7c(128,yed2b+032,paleta[pps],paleta[iks],"77777777676767677676767666666666"):filpic7c(128,yed2b+033,paleta[pps],paleta[iks],"77177111670761017616701066066000")
  275. filpic7c(128,yed2b+034,paleta[pps],paleta[iks],"57475545270725055444524224042202"):filpic7c(128,yed2b+035,paleta[pps],paleta[iks],"17171717070707071616161606060606")
  276. filpic7c(128,yed2b+036,paleta[pps],paleta[iks],"74471104664477715577757255556755"):filpic7c(128,yed2b+037,paleta[pps],paleta[iks],"61165504441166753357667033533663")
  277. filpic7c(128,yed2b+038,paleta[pps],paleta[iks],"20027704664477775517577266555576"):filpic7c(128,yed2b+039,paleta[pps],paleta[iks],"65557766225555775517572766557655")
  278. filpic7c(128,yed2b+040,paleta[pps],paleta[iks],"66455544225555755557660733356336"):filpic7c(128,yed2b+041,paleta[pps],paleta[iks],"75541166554455615577752755555567")
  279. filpic7c(128,yed2b+042,paleta[pps],paleta[iks],"77177111670761017616701066066000"):filpic7c(128,yed2b+043,paleta[pps],paleta[iks],"75557454452544247252705042224020")
  280. filpic7c(128,yed2b+044,paleta[pps],paleta[iks],"71717171616161617070707060606060"):filpic7c(128,yed2b+045,paleta[pps],paleta[iks],"77177111670761017616701066066000")
  281. filpic7c(128,yed2b+046,paleta[pps],paleta[iks],"55455444250524045242504022022000"):filpic7c(128,yed2b+047,paleta[pps],paleta[iks],"11111111010101011010101000000000")
  282.  
  283.   dfi=65536:fgx=0:fgy=0:chid=0
  284.   for yq=0 to 15:for xq=0 to 15:cnt=0
  285.     for y2=0 to 2:for x2=0 to 1
  286.  
  287.       '- substituir por distrgb
  288.  
  289.       q1=bitwiseand(point(160+(x1*2)+x2,yed2a+(y1*3)+y2),255)
  290.       q2=bitwiseand(point(128+(xq*2)+x2,yed2a+0+(yq*3)+y2),255)
  291.       dq=abs(q2-q1):cnt=cnt+dq
  292.       next:next
  293.     if cnt<dfi then:dfi=cnt:fgx=xq:fgy=yq:end if
  294.     next:next
  295.   for y2=0 to 7:for x2=0 to 7
  296.     c=point((fgx*8)+x2,yed2a+(fgy*8)+y2)
  297.     if (c mod 256)<128 then: ink (paleta[iks]):else:ink (paleta[pps]):end if
  298.     dot((x1*8)+x2,(y1*8)+y2)
  299.     next:next:next:next
  300.  
  301.   fout$=finp$+".bmp":grab (1,0,0,xed2a,yed2a):saveimage (fout$,1)
  302. '- unix only (?) - needs imagemagick installed
  303.   shell("convert "+fout$+" "+fout$+".png"):shell("rm "+fout$+" "+finp2$)  
  304.  
  305. waitkey
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement