Skip to content

Commit 590f584

Browse files
committed
fix(effects): wrong positive contrast
1 parent c8b819e commit 590f584

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

effects.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package gg
22

3-
func limitper(per int) int {
3+
func gateN100P100(per int) int {
44
if per > 100 {
55
per = 100
66
}
@@ -10,7 +10,7 @@ func limitper(per int) int {
1010
return per
1111
}
1212

13-
func limit2uint8(n int) int {
13+
func gate0P255(n int) int {
1414
if n < 0 {
1515
n = 0
1616
}
@@ -25,13 +25,13 @@ func (dc *Context) Brightness(per int) {
2525
if per == 0 {
2626
return
2727
}
28-
per = limitper(per)
28+
per = gateN100P100(per)
2929
gain := 255 * per / 100
3030
for i, v := range dc.im.Pix {
3131
if i%4 == 3 { // alpha
3232
continue
3333
}
34-
dc.im.Pix[i] = uint8(limit2uint8(int(v) + gain))
34+
dc.im.Pix[i] = uint8(gate0P255(int(v) + gain))
3535
}
3636
}
3737

@@ -40,25 +40,25 @@ func (dc *Context) Contrast(per int) {
4040
if per == 0 {
4141
return
4242
}
43-
per = limitper(per) + 100
43+
per = gateN100P100(per) + 100
4444
switch {
45-
case 0 <= per && per <= 100: // 损益
45+
case 0 <= per && per < 100: // 损益
4646
gain := per
4747
for i, v := range dc.im.Pix {
4848
if i%4 == 3 { // alpha
4949
continue
5050
}
51-
dc.im.Pix[i] = uint8(limit2uint8(int(v) * gain / 100))
51+
dc.im.Pix[i] = uint8(gate0P255(int(v) * gain / 100))
5252
}
53-
case 1 < per && per < 2: // 增益
53+
case 100 < per && per <= 200: // 增益
5454
gain := 200 - per
5555
for i, v := range dc.im.Pix {
5656
if i%4 == 3 { // alpha
5757
continue
5858
}
59-
dc.im.Pix[i] = uint8(limit2uint8(int(v) * 100 / gain))
59+
dc.im.Pix[i] = uint8(gate0P255(int(v) * 100 / gain))
6060
}
6161
default:
62-
return
62+
panic("unreachable")
6363
}
6464
}

0 commit comments

Comments
 (0)