Commit 76e89e6
feat: apply EXIF orientation when decoding a wallpaper (pop-os#142)
Cameras store portrait photos with the pixels laid out landscape and record
the rotation in the Exif metadata. `ImageReader::decode` ignores it, so those
wallpapers are drawn rotated. It is also why such a photo looks right in an
image viewer but rotated in the wallpaper and in the cosmic-settings preview.
Decode through `into_decoder` instead, so the orientation reported by the
decoder can be applied to the decoded image. Unlike `decode`, `into_decoder`
does not check the allocation limit against the size of the decoded image, so
that check is kept explicitly.
Signed-off-by: Leandro Pérez G. <leandropatodo@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent ed65f7d commit 76e89e6
1 file changed
Lines changed: 29 additions & 17 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
13 | | - | |
| 14 | + | |
14 | 15 | | |
15 | 16 | | |
16 | 17 | | |
| |||
126 | 127 | | |
127 | 128 | | |
128 | 129 | | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
144 | 139 | | |
145 | | - | |
| 140 | + | |
146 | 141 | | |
147 | 142 | | |
148 | 143 | | |
| |||
371 | 366 | | |
372 | 367 | | |
373 | 368 | | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
374 | 386 | | |
375 | 387 | | |
376 | 388 | | |
| |||
0 commit comments