c633601d902b0e1b572bd365de56d8b4005f4e7b
CI / test (push) Has been cancelled
Compositing the white letterbox bars before contrastStretch meant the bars (pure white, often 60%+ of the canvas for an aspect mismatch) were included in the per-channel histogram. The "lightest 1% to clip to white" threshold therefore landed inside the bars themselves, raising the effective white point so the photo's lighter tones got over-clipped to white and the photo ended up washed out. Reordering: thumbnail → contrastStretch/modulate/sharpen on the photo alone → composite onto white canvas → rotate. The contrastStretch's percentage now uses the photo's actual pixel count too, not the full canvas, so the 1% clip is honest about how many pixels of real photo content it's looking at. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
pictureFrame web app — Symfony + Vue SPA
Languages
Python
42.9%
PHP
20%
HTML
12.5%
TypeScript
11.7%
Vue
7.6%
Other
5.3%