@@ -54,53 +54,66 @@ void main() {
54
54
});
55
55
56
56
test ('darken colors each pixel darker' , () async {
57
- const originalColor = Color .fromARGB (193 , 135 , 73 , 73 );
57
+ const transparentColor = Color .fromARGB (0 , 255 , 0 , 255 );
58
+ const originalColor = Color .fromARGB (255 , 135 , 73 , 73 );
58
59
final pixels = Uint8List .fromList (
59
60
List <int >.generate (
60
61
100 * 4 ,
61
- (index) => _colorBit (index, originalColor),
62
+ (index) => _colorBit (
63
+ index,
64
+ index < 200 ? transparentColor : originalColor,
65
+ ),
62
66
),
63
67
);
64
68
final image = await ImageExtension .fromPixels (pixels, 10 , 10 );
65
69
66
70
const darkenAmount = 0.5 ;
67
- final originalDarkenImage = await image.darken (darkenAmount);
68
- final originalDarkenPixelsList =
69
- await originalDarkenImage.pixelsInUint8 ();
71
+ final actualDarkenedImage = await image.darken (darkenAmount);
72
+ final actualDarkenedPixels = await actualDarkenedImage.pixelsInUint8 ();
70
73
71
- final darkenColor = originalColor.darken (darkenAmount);
74
+ final darkenedColor = originalColor.darken (darkenAmount);
72
75
final expectedDarkenPixels = Uint8List .fromList (
73
76
List <int >.generate (
74
77
100 * 4 ,
75
- (index) => _colorBit (index, darkenColor),
78
+ (index) => _colorBit (
79
+ index,
80
+ index < 200 ? transparentColor : darkenedColor,
81
+ ),
76
82
),
77
83
);
78
- expect (originalDarkenPixelsList , expectedDarkenPixels);
84
+ expect (actualDarkenedPixels , expectedDarkenPixels);
79
85
});
80
86
81
87
test ('brighten colors each pixel brighter' , () async {
82
- const originalColor = Color .fromARGB (193 , 135 , 73 , 73 );
88
+ const transparentColor = Color .fromARGB (0 , 255 , 0 , 255 );
89
+ const originalColor = Color .fromARGB (255 , 255 , 0 , 0 );
90
+
83
91
final pixels = Uint8List .fromList (
84
92
List <int >.generate (
85
93
100 * 4 ,
86
- (index) => _colorBit (index, originalColor),
94
+ (index) => _colorBit (
95
+ index,
96
+ index < 200 ? transparentColor : originalColor,
97
+ ),
87
98
),
88
99
);
89
100
final image = await ImageExtension .fromPixels (pixels, 10 , 10 );
90
101
91
102
const brightenAmount = 0.5 ;
92
- final originalBrightenImage = await image.brighten (brightenAmount);
93
- final originalBrightenPixelsList =
94
- await originalBrightenImage.pixelsInUint8 ();
103
+ final brightenedImage = await image.brighten (brightenAmount);
104
+ final actualBrightenedPixels = await brightenedImage.pixelsInUint8 ();
95
105
96
106
final brightenColor = originalColor.brighten (brightenAmount);
97
107
final expectedBrightenPixels = Uint8List .fromList (
98
108
List <int >.generate (
99
109
100 * 4 ,
100
- (index) => _colorBit (index, brightenColor),
110
+ (index) => _colorBit (
111
+ index,
112
+ index < 200 ? transparentColor : brightenColor,
113
+ ),
101
114
),
102
115
);
103
- expect (originalBrightenPixelsList , expectedBrightenPixels);
116
+ expect (actualBrightenedPixels , expectedBrightenPixels);
104
117
});
105
118
106
119
test ('resize resizes the image' , () async {
@@ -121,10 +134,10 @@ void main() {
121
134
122
135
int _colorBit (int index, Color color) {
123
136
return switch (index % 4 ) {
124
- 0 => color.r ~ / 255 ,
125
- 1 => color.g ~ / 255 ,
126
- 2 => color.b ~ / 255 ,
127
- 3 => color.a ~ / 255 ,
137
+ 0 => ( color.r * 255 ). round () ,
138
+ 1 => ( color.g * 255 ). round () ,
139
+ 2 => ( color.b * 255 ). round () ,
140
+ 3 => ( color.a * 255 ). round () ,
128
141
_ => throw UnimplementedError (),
129
142
};
130
143
}
0 commit comments