@F’²•β³•β•Λ½ΔΈήΧΡ --track0:‚•β³,1,400,100,1 --track1:••β³,1,400,100,1 --track2:“§–Ύ“x,0,100,100,0.01 --track3:‡¬,0,12,1,1 --check0:GrayScale ONΜOFF,1 --dialog:‰πΝ–§“x,local ik=25;pos,pos={180,150}; ----------------------------------- local t0=math.floor(obj.track0) local t1=math.floor(obj.track1) local t2=obj.track2/100 local t3=math.floor(obj.track3) local sw,sh=obj.screen_w,obj.screen_h ----------------------------------- obj.draw() local ow,oh=obj.getpixel() local len=ow*oh local hst={} for j=1,4 do hst[j]={} for i=1,256 do hst[j][i]=0 end end ----------------------------------- if(ik<1)then ik=1 end for i=0,len-1,ik do x0=i%ow y0=math.floor(i/ow) r,g,b,a=obj.getpixel(x0,y0,"rgb") hst[1][r+1]=hst[1][r+1]+1 hst[2][g+1]=hst[2][g+1]+1 hst[3][b+1]=hst[3][b+1]+1 if(obj.check0)then gray=math.floor(0.299*r+0.587*g+0.114*b)+1 hst[4][gray]=hst[4][gray]+1 end end obj.setanchor("pos",1) local xx,yy=pos[1],pos[2] len=256 local len2 if(obj.check0)then len2=4 else len2=3 end for j=1,len2 do for i=0,len-1 do --dst dstx=sh/360*t1/100 dsty=-math.floor(hst[j][i+1])*t0/200 x0,y0,z0=i*dstx-len*dstx/2+xx,dsty+yy,0 x1,y1,z1=(i+1)*dstx-len*dstx/2+xx,y0,0 x2,y2,z3=x1,yy,0 x3,y3,z3=x0,y2,0 if(j==1)then col=0xff0000 elseif(j==2)then col=0x00ff00 elseif(j==3)then col=0x0000ff elseif(j==4)then col=0x888888 end obj.load("figure","ŽlŠpŒ`",col,100) obj.setoption("blend",t3) obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z3,x3,y3,z3,x0,y0,x1,y1,x2,y2,x3,y3,t2) end end obj.setfont("MS P Gothic",sh/36,3,0xffffff,0x000000) for i=0,256,64 do if(i==256)then i=255 end obj.load("text",i) dx=pos[1]+i*sh/360*t1/100 -sh/2.8*t1/100 dy=pos[2] +sh/36 obj.draw(dx,dy) end @F’²•β³•β•Še—v‘f•½‹Ο’l --track0:‰πΝ–§“x,1,1080,25,1 --check0:‰πΝ“_•\Ž¦,0 --dialog:‰πΝ–§“x§Œΐ/chk,chk1=1; ----------------------------------- local t0=math.floor(obj.track0) local sw,sh=obj.screen_w,obj.screen_h ----------------------------------- local ow,oh=obj.getpixel() local len=ow*oh --Format rgb&hsv local cdata={} local opt={} opt[1]={"R","G","B","H","S","V","Y","Cb","Cr"} opt[2]={"0xff0000","0x00ff00","0x0000ff","0xffffff","0x888888","0x000000","0xcccccc","0x00ffff","0xff00ff"} for i=1,9 do cdata[i]=0 end --Get data local idx0=0 local ik=t0 if(chk1==1)then if(t0<3)then ik=3 end end for i=0,len-1,ik do idx0=idx0+1 x0=i%ow y0=math.floor(i/ow) col,a=obj.getpixel(x0,y0,"col") r,g,b=RGB(col) h,s,v=HSV(col) y,cb,cr,a=obj.getpixel(x0,y0,"ycbcr") cdata[1]=cdata[1]+r cdata[2]=cdata[2]+g cdata[3]=cdata[3]+b cdata[4]=cdata[4]+h cdata[5]=cdata[5]+s cdata[6]=cdata[6]+v cdata[7]=cdata[7]+y cdata[8]=cdata[8]+cb cdata[9]=cdata[9]+cr if(obj.check0)then obj.putpixel(x0,y0,0xff0000,1) end end --Average cdata[1]=math.floor(cdata[1]/idx0) cdata[2]=math.floor(cdata[2]/idx0) cdata[3]=math.floor(cdata[3]/idx0) cdata[4]=math.floor(cdata[4]/idx0) cdata[5]=math.floor(cdata[5]/idx0) cdata[6]=math.floor(cdata[6]/idx0) cdata[7]=math.floor(cdata[7]/idx0) cdata[8]=math.floor(cdata[8]/idx0) cdata[9]=math.floor(cdata[9]/idx0) --dsplay obj.draw() local fs=sh/24 for i=0,#cdata-1 do --src --dst vv=cdata[i+1] if(vv<0)then vv=-vv end if(i>5)then vv=vv/(sh/60) end --*** dstx=vv*sh/360 dsty=sh/24 spay=sh/120 xx,yy=-sw/2,-sh/2+sh/24 x0,y0,z0=xx,i*dsty+spay+yy,0 x1,y1,z1=dstx+xx,y0,0 x2,y2,z3=x1,(i+0.25)*dsty+yy,0 x3,y3,z3=x0,y2,0 obj.load("figure","ŽlŠpŒ`",opt[2][i+1],100) obj.drawpoly(x0,y0,z0,x1,y1,z1,x2,y2,z3,x3,y3,z3,x0,y0,x1,y1,x2,y2,x3,y3,0.75) obj.setfont("",fs,3,0xffffff,0x000000) obj.load("text",opt[1][i+1]) obj.draw(xx+fs/2,y0-fs/2) obj.load("text",cdata[i+1]) obj.draw(x1+fs/2,y0-fs/2) end --[[http://madeinpc.blog50.fc2.com/]]--