Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/sdlBrt
- finp$="picture.png"
- shell("convert "+finp$+" _.png")
- xed=0:yed=0:open "_.png" for input as #1:for i=1 to 16:n=readbyte(1):next:for i=1 to 2:n=readbyte(1):next
- xed=readbyte(1)*256:xed=xed+readbyte(1):for i=1 to 2:n=readbyte(1):next:yed=readbyte(1)*256:yed=yed+readbyte(1)
- close #1:shell("rm _.png")
- setdisplay(xed,yed,32,1):paper(8^8-1):ink(0):pen(0):cls
- loadimage(finp$,1):pasteicon(0,0,1):fout$=finp$+".svg":pixid=0
- open fout$ for output as #1
- print #1,"<?xml version=\"1.0\" standalone=\"no\"?>"
- print #1,"<svg width=\""+str$(xed)+"\" height=\""+str$(yed)+"\" id=\"svg2\" version=\"1.0\">"
- ypos=0:xpos=0:sqflg=0:sqflgs=0:sqsz=0:shpid=0
- while(ypos<yed):
- u=point(xpos,ypos) mod 256
- if u<128 then:
- sqsz=0:sqflg=1
- while sqflgs=0
- sqsz+=1
- for y2=ypos to ypos+sqsz-1
- u=point(xpos+sqsz-1,y2) mod 256
- if u>=128 or (xpos+sqsz-1)>=xed then:sqflgs=1:end if
- next
- for x2=xpos to xpos+sqsz-1
- u=point(x2,ypos+sqsz-1) mod 256
- if u>=128 or (ypos+sqsz-1)>=yed then:sqflgs=1:end if
- next
- wend
- sqsz-=1
- print #1,"<path id=\""+str$(shpid)+"\" style=\"fill:#000000;stroke:none;opacity:1\""
- print #1,"d=\"M "+str$(xpos)+","+str$(ypos)+" l "+str$(sqsz)+",0 l 0,"+str$(sqsz)+" l -"+str$(sqsz)+",0 l 0,-"+str$(sqsz)+" z\"/>"
- ink(0x88FFFF):bar(xpos,ypos,xpos+sqsz-1,ypos+sqsz-1)
- xpos+=sqsz
- shpid+=1
- sqflg=0:sqflgs=0:sqsz=0
- else
- xpos+=1
- end if
- if xpos>=xed then: xpos=0:ypos+=1:end if
- wend
- print #1,"</svg>":close #1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement