Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/sdlbrt
- finp$="q2_49474899_1769271099846253_8522749926122192896_n.jpg"
- if argc>=3 then:finp$=command$(3):end if
- dim dpvl[8]
- function hexvl(a$)
- e=asc(ucase$(a$))
- hexvl=abs(((e>=48 and e<=57)*(e-48))+((e>=65 and e<=70)*(e-55)))
- end function
- sub hexvpr(a$)
- lngta=len(a$):i=1
- while i<=lngta
- m1$=mid$(a$,i,1):m2$=mid$(a$,i+1,1)
- b=(hexvl(m1$)*16)+hexvl(m2$):WriteByte(1,b):i+=2
- end while
- end sub
- function bthx$(a)
- b$="00"+hex$(a):bthx$=right$(b$,2)
- end function
- shell("rm _t9.gif _tmp_.png")
- shell("convert -size 32x32 xc:#020002 _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#00680C' -draw 'rectangle 8,0 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#212BBD' -draw 'rectangle 16,0 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#0D9ED5' -draw 'rectangle 24,0 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#85096C' -draw 'rectangle 0,8 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#757376' -draw 'rectangle 8,8 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#AF36FF' -draw 'rectangle 16,8 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#9BA9FF' -draw 'rectangle 24,8 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#514700' -draw 'rectangle 0,16 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#42BD00' -draw 'rectangle 8,16 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#707470' -draw 'rectangle 16,16 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#5DF47A' -draw 'rectangle 24,16 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#E5541D' -draw 'rectangle 0,24 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#D7CB19' -draw 'rectangle 8,24 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#FF81F2' -draw 'rectangle 16,24 32,32' _tmp_.png")
- shell("convert _tmp_.png -stroke none -fill '#FDFFFC' -draw 'rectangle 24,24 32,32' _tmp_.png")
- shell("convert _tmp_.png _t9.gif")
- shell("rm _tmp_.png")
- clstr=0 '- 0..3
- xed=160:yed=200:wdwd=1
- shell("rm _t*.png")
- shell("convert "+finp$+" -scale "+str$(xed*4)+"x"+str$(yed*4)+"! _t2.png")
- shell("convert "+finp$+" +dither -colors 16 _t4.png")
- shell("convert _t4.png +dither -posterize 8 _t5.png")
- shell("convert _t5.png +dither -colors 16 _t6.png")
- 'shell("convert _t2.png -quantize CMY -remap _t6.png -dither Riemersma _t3.png")
- shell("convert _t2.png -quantize CMY -remap _t9.gif -dither Riemersma _t3.png")
- shell("convert _t3.png -unique-colors -scale 400% _t4.png")
- setdisplay(xed*4,yed*4,32,wdwd):paper(8^8-1):ink(0):pen(0):cls
- loadimage("_t3.png",1):pasteicon(0,0,1)
- dim p1[16],k1[16]
- function grayscale(ct):
- cq=ct
- bq=bitwiseand(cq,255):cq=int(cq/256)
- gq=bitwiseand(cq,255):cq=int(cq/256)
- rq=bitwiseand(cq,255):cq=int(cq/256)
- return int(((rq*30)+(gq*59)+(bq*11))/100)
- end function
- for y2=0 to yed-1
- setcaption(str$(int(100*(y2/yed)))+"%")
- for x2=0 to xed-1
- for y1=0 to 3:for x1=0 to 3
- xq=y1*4+x1
- p1[xq]=point(x2*4+x1,y2*4+y1)
- next:next
- for i=0 to 15
- k1[i]=grayscale(p1[i])
- next
- for j=0 to 14:for i=0 to 14
- if k1[i]>k1[i+1] then:
- tm=k1[i]:k1[i]=k1[i+1]:k1[i+1]=tm
- tm=p1[i]:p1[i]=p1[i+1]:p1[i+1]=tm
- end if
- next:next
- if clstr=0 then:
- ink(p1[ 0]):dot(x2*4+0,y2*4+0)
- ink(p1[ 6]):dot(x2*4+1,y2*4+0)
- ink(p1[ 9]):dot(x2*4+2,y2*4+0)
- ink(p1[15]):dot(x2*4+3,y2*4+0)
- ink(p1[ 4]):dot(x2*4+0,y2*4+1)
- ink(p1[10]):dot(x2*4+1,y2*4+1)
- ink(p1[ 3]):dot(x2*4+2,y2*4+1)
- ink(p1[13]):dot(x2*4+3,y2*4+1)
- ink(p1[ 8]):dot(x2*4+0,y2*4+2)
- ink(p1[14]):dot(x2*4+1,y2*4+2)
- ink(p1[ 1]):dot(x2*4+2,y2*4+2)
- ink(p1[ 7]):dot(x2*4+3,y2*4+2)
- ink(p1[ 2]):dot(x2*4+0,y2*4+3)
- ink(p1[12]):dot(x2*4+1,y2*4+3)
- ink(p1[ 5]):dot(x2*4+2,y2*4+3)
- ink(p1[11]):dot(x2*4+3,y2*4+3)
- end if
- if clstr=1 then:
- ink(p1[ 0]):dot(x2*4+0,y2*4+0)
- ink(p1[ 4]):dot(x2*4+1,y2*4+0)
- ink(p1[ 8]):dot(x2*4+2,y2*4+0)
- ink(p1[12]):dot(x2*4+3,y2*4+0)
- ink(p1[10]):dot(x2*4+0,y2*4+1)
- ink(p1[14]):dot(x2*4+1,y2*4+1)
- ink(p1[ 2]):dot(x2*4+2,y2*4+1)
- ink(p1[ 6]):dot(x2*4+3,y2*4+1)
- ink(p1[ 1]):dot(x2*4+0,y2*4+2)
- ink(p1[ 5]):dot(x2*4+1,y2*4+2)
- ink(p1[ 9]):dot(x2*4+2,y2*4+2)
- ink(p1[13]):dot(x2*4+3,y2*4+2)
- ink(p1[11]):dot(x2*4+0,y2*4+3)
- ink(p1[15]):dot(x2*4+1,y2*4+3)
- ink(p1[ 3]):dot(x2*4+2,y2*4+3)
- ink(p1[ 7]):dot(x2*4+3,y2*4+3)
- end if
- if clstr=2 then:
- ink(p1[ 0]):dot(x2*4+0,y2*4+0)
- ink(p1[10]):dot(x2*4+1,y2*4+0)
- ink(p1[ 1]):dot(x2*4+2,y2*4+0)
- ink(p1[11]):dot(x2*4+3,y2*4+0)
- ink(p1[ 4]):dot(x2*4+0,y2*4+1)
- ink(p1[14]):dot(x2*4+1,y2*4+1)
- ink(p1[ 5]):dot(x2*4+2,y2*4+1)
- ink(p1[15]):dot(x2*4+3,y2*4+1)
- ink(p1[ 8]):dot(x2*4+0,y2*4+2)
- ink(p1[ 2]):dot(x2*4+1,y2*4+2)
- ink(p1[ 9]):dot(x2*4+2,y2*4+2)
- ink(p1[ 3]):dot(x2*4+3,y2*4+2)
- ink(p1[12]):dot(x2*4+0,y2*4+3)
- ink(p1[ 6]):dot(x2*4+1,y2*4+3)
- ink(p1[13]):dot(x2*4+2,y2*4+3)
- ink(p1[ 7]):dot(x2*4+3,y2*4+3)
- end if
- if clstr=3 then:
- ink(p1[ 0]):dot(x2*4+0,y2*4+0)
- ink(p1[12]):dot(x2*4+1,y2*4+0)
- ink(p1[ 3]):dot(x2*4+2,y2*4+0)
- ink(p1[15]):dot(x2*4+3,y2*4+0)
- ink(p1[ 8]):dot(x2*4+0,y2*4+1)
- ink(p1[ 4]):dot(x2*4+1,y2*4+1)
- ink(p1[11]):dot(x2*4+2,y2*4+1)
- ink(p1[ 7]):dot(x2*4+3,y2*4+1)
- ink(p1[ 2]):dot(x2*4+0,y2*4+2)
- ink(p1[14]):dot(x2*4+1,y2*4+2)
- ink(p1[ 1]):dot(x2*4+2,y2*4+2)
- ink(p1[13]):dot(x2*4+3,y2*4+2)
- ink(p1[10]):dot(x2*4+0,y2*4+3)
- ink(p1[ 6]):dot(x2*4+1,y2*4+3)
- ink(p1[ 9]):dot(x2*4+2,y2*4+3)
- ink(p1[ 5]):dot(x2*4+3,y2*4+3)
- end if
- x1=x2 mod 4:y1=y2 mod 4
- u=point(x2*4+x1,y2*4+y1)
- ink(u):dot(x2,y2)
- next:next
- loadimage("_t4.png",1):pasteicon(xed,0,1)
- shell("rm _t*.png")
- '-------------------------------------------------------------------------------
- for y2=0 to yed-1
- setcaption(str$(int(100*(y2/yed)))+"%")
- for x2=0 to xed-1
- u=point(x2,y2)
- for c2=15 to 0 step -1
- cp=point(xed+c2*4,0)
- if (u=cp) then:
- ink(0xFFFFFF)
- if bitwiseand(c2,1)<>0 then:ink(0):end if
- dot((xed*0)+x2,yed+y2)
- ink(0xFFFFFF)
- if bitwiseand(c2,2)<>0 then:ink(0):end if
- dot((xed*1)+x2,yed+y2)
- ink(0xFFFFFF)
- if bitwiseand(c2,4)<>0 then:ink(0):end if
- dot((xed*2)+x2,yed+y2)
- ink(0xFFFFFF)
- if bitwiseand(c2,8)<>0 then:ink(0):end if
- dot((xed*3)+x2,yed+y2)
- end if
- next
- next:next
- '-------------------------------------------------------------------------------
- open finp$+".bin" for output as #1
- for x0=0 to 3
- for y2=0 to 143
- for x1=0 to 159 step 8
- setcaption(str$(y2)+"/144")
- y=yed+y2
- for x2=0 to 7:dpvl[x2]=0:next
- for x2=0 to 7:xp=(x0*160)+x1+x2
- g=bitwiseand(point(xp,y),0x00FF00)/256
- if g<128 then:dpvl[x2]=1:end if
- next
- dpvb=0
- for x2=0 to 7:dpvb=dpvb+(dpvl[x2]*(2^(7-x2))):next
- writebyte(1,dpvb)
- next:next:next
- for x0=0 to 15
- u=point(xed+(x0*4),0)
- r=bitwiseand(u,0xF00000)/0x100000
- g=bitwiseand(u,0x00F000)/0x100
- b=bitwiseand(u,0x0000F0)/0x10
- writebyte(1,b)
- writebyte(1,bitwiseor(g,r))
- next
- close #1
- '-------------------------------------------------------------------------------
- open finp$+".hex" for output as #1:open finp$+".bin" for input as #2
- print #1,"goto bin01end"
- print #1,"bin01:"
- print #1,"asm"
- a$=" defb "
- while not(eof(2))
- aln=len(a$)
- if aln>=68 then
- tzl=len(a$):a$=left$(a$,tzl-1):print #1,a$:a$=" defb "
- end if
- u=readbyte(2)
- a$=a$+"$"+bthx$(u):a$=a$+","
- end while
- aln=len(a$)
- if aln>0 then
- tzl=len(a$):a$=left$(a$,tzl-1):print #1,a$:a$=" defb "
- end if
- print #1," end asm"
- print #1,"bin01end:"
- close #1:close #2
- '-------------------------------------------------------------------------------
- 'waitkey
- grab(1,0,0,xed,yed):saveimage("_.bmp",1):shell("convert _.bmp "+finp$+".png && rm _.bmp" )
- shell("convert "+finp$+".png -colors 16 -compress None "+finp$+".ilbm ")
- shell("convert "+finp$+".png _.ppm && ppmtopi1 _.ppm > "+finp$+".pi1 && rm _.ppm")
- 'waitkey
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement