-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathPosterize.anm
More file actions
122 lines (115 loc) · 2.01 KB
/
Posterize.anm
File metadata and controls
122 lines (115 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
--track0:分割数,1,100,5,1
--track3:透明度,0,100,0
--check0:info,1
--dialog:type[1-5],local tp=1;
if(obj.check0)then
obj.setfont("メイリオ",50)
obj.load("type:\n\t1: 色相基準\n\t2: 彩度基準\n\t3: 輝度基準\n選択: "..tp.."\n分割数: "..obj.track0.."\n透明度: "..obj.track1)
else
local n,a=obj.track0,1-obj.track1/100
local i,j,dw,dh,col,alp,h,s,v,d,d2
obj.load("framebuffer")
dw,dh=obj.getpixel()
--w,h=obj.screen_w,obj.screen_h
--obj.setoption("dst","tmp",obj.w,obj.h)
if(tp==1) then --色相
d = 360/n
for i=1,dw do
for j=1,dh do
col,alp = obj.getpixel(i,j)
h,s,v = HSV(col)
for k=0,n do
if(h<=d*k) then
h=d*k
break
end
end
col=HSV(h,s,v)
obj.putpixel(i,j,col,a)
end
end
elseif(tp==2) then --彩度
d = 100/n
for i=1,dw do
for j=1,dh do
col,alp = obj.getpixel(i,j)
h,s,v = HSV(col)
for k=0,n do
if(s<=d*k) then
s=d*k
break
end
end
col=HSV(h,s,v)
obj.putpixel(i,j,col,a)
end
end
elseif(tp==3) then --輝度
d = 100/n
for i=1,dw do
for j=1,dh do
col,alp = obj.getpixel(i,j)
h,s,v = HSV(col)
for k=0,n do
if(v<=d*k) then
v=d*k
break
end
end
col=HSV(h,s,v)
obj.putpixel(i,j,col,a)
end
end
elseif(tp==4) then --彩度+輝度
d = 100/n
for i=1,dw do
for j=1,dh do
col,alp = obj.getpixel(i,j)
h,s,v = HSV(col)
for k=0,n do
if(v<=d*k) then
v=d*k
break
end
end
for k=0,n do
if(s<=d*k) then
s=d*k
break
end
end
col=HSV(h,s,v)
obj.putpixel(i,j,col,a)
end
end
elseif(tp==5) then --ALL
d = 100/n
d2 = 360/n
for i=1,dw do
for j=1,dh do
col,alp = obj.getpixel(i,j)
h,s,v = HSV(col)
for k=0,n do
if(v<=d*k) then
v=d*k
break
end
end
for k=0,n do
if(s<=d*k) then
s=d*k
break
end
end
for k=0,n do
if(h<=d2*k) then
h=d2*k
break
end
end
col=HSV(h,s,v)
obj.putpixel(i,j,col,a)
end
end
end
end