SnapOtter and GitHub
d88999e7a9
feat(resize): add aspect-ratio proportion presets ( #530 )
...
Add a proportion chip row (Free, Original, 1:1, 4:3, 3:2, 16:9, 3:4, 9:16) to the Resize tool's Custom tab. Picking a ratio locks width and height so editing one recomputes the other, and prefills the largest box of that ratio that fits the source so it never upscales. Free stays the default, preserving existing behavior. Replaces the previously non-functional lock-aspect button. Frontend only, no backend or schema change; adds strings to all 21 locales.
2026-07-16 16:12:08 +08:00
..
2026-05-15 17:02:49 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-13 10:19:47 +08:00
2026-06-16 15:16:13 +08:00
2026-06-20 12:35:10 +08:00
2026-06-21 02:31:28 +08:00
2026-06-20 12:35:10 +08:00
2026-06-16 15:16:13 +08:00
2026-05-15 17:02:49 +08:00
2026-06-24 00:21:41 +08:00
2026-06-13 10:18:55 +08:00
2026-06-21 01:49:48 +08:00
2026-06-20 12:35:10 +08:00
2026-06-13 10:19:00 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-16 15:16:13 +08:00
2026-06-21 01:49:48 +08:00
2026-06-21 02:31:28 +08:00
2026-05-15 17:02:49 +08:00
2026-06-20 12:35:10 +08:00
2026-06-07 23:32:41 +08:00
2026-06-07 23:32:41 +08:00
2026-06-21 02:31:28 +08:00
2026-06-20 12:35:10 +08:00
2026-07-16 15:08:21 +08:00
2026-06-28 18:57:53 +08:00
2026-06-24 00:21:41 +08:00
2026-05-15 17:02:49 +08:00
2026-06-28 18:57:53 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-13 10:19:16 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-16 15:16:13 +08:00
2026-06-28 18:57:53 +08:00
2026-06-13 10:18:55 +08:00
2026-05-15 17:02:49 +08:00
2026-06-24 00:21:41 +08:00
2026-06-13 10:18:49 +08:00
2026-06-13 10:18:49 +08:00
2026-07-01 12:32:33 +08:00
2026-06-16 15:16:13 +08:00
2026-06-20 12:35:10 +08:00
2026-06-13 10:19:00 +08:00
2026-06-07 23:32:41 +08:00
2026-06-24 00:21:41 +08:00
2026-07-15 03:34:24 +08:00
2026-07-11 22:27:51 +08:00
2026-06-13 10:19:11 +08:00
2026-06-13 10:18:49 +08:00
2026-06-24 00:21:41 +08:00
2026-06-13 10:19:00 +08:00
2026-06-13 10:19:11 +08:00
2026-06-13 10:19:06 +08:00
2026-06-20 12:35:10 +08:00
2026-07-01 12:32:33 +08:00
2026-07-03 09:54:02 +08:00
2026-06-13 10:18:55 +08:00
2026-06-13 10:19:00 +08:00
2026-07-01 12:32:33 +08:00
2026-06-16 15:16:13 +08:00
2026-06-13 10:18:55 +08:00
2026-06-16 15:16:13 +08:00
2026-07-01 12:32:33 +08:00
2026-07-01 12:32:33 +08:00
2026-06-13 10:18:55 +08:00
2026-07-01 12:32:33 +08:00
2026-06-16 15:16:13 +08:00
2026-07-01 12:32:33 +08:00
2026-07-01 12:32:33 +08:00
2026-06-20 12:35:10 +08:00
2026-06-13 10:19:00 +08:00
2026-07-03 09:54:02 +08:00
2026-06-13 10:18:49 +08:00
2026-06-13 10:18:55 +08:00
2026-06-16 15:16:13 +08:00
2026-06-13 10:19:11 +08:00
2026-06-13 10:19:11 +08:00
2026-06-13 10:18:55 +08:00
2026-06-15 22:26:24 +08:00
2026-05-15 17:02:49 +08:00
2026-07-01 12:32:33 +08:00
2026-06-15 22:26:24 +08:00
2026-06-15 22:26:24 +08:00
2026-06-13 10:18:49 +08:00
2026-06-13 10:19:00 +08:00
2026-06-13 10:18:49 +08:00
2026-06-13 10:19:06 +08:00
2026-05-15 17:02:49 +08:00
2026-06-13 10:19:06 +08:00
2026-06-24 00:21:41 +08:00
2026-07-15 03:34:24 +08:00
2026-06-16 15:16:13 +08:00
2026-07-15 03:34:24 +08:00
2026-07-15 03:34:24 +08:00
2026-06-20 12:35:10 +08:00
2026-06-24 00:21:41 +08:00
2026-07-01 12:32:33 +08:00
2026-06-24 00:21:41 +08:00
2026-06-13 10:18:55 +08:00
2026-05-15 17:02:49 +08:00
2026-06-14 14:06:25 +08:00
2026-06-13 10:18:55 +08:00
2026-06-13 10:18:55 +08:00
2026-06-13 10:18:55 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-16 15:16:13 +08:00
2026-06-13 10:19:11 +08:00
2026-06-13 10:18:55 +08:00
2026-05-06 21:38:12 +08:00
2026-07-01 12:32:33 +08:00
2026-05-15 17:02:49 +08:00
2026-06-24 00:21:41 +08:00
2026-06-28 18:57:53 +08:00
2026-07-11 19:53:00 +08:00
2026-06-24 00:21:41 +08:00
2026-06-13 10:18:55 +08:00
2026-06-13 10:19:00 +08:00
2026-04-13 16:26:38 +08:00
2026-07-16 16:12:08 +08:00
2026-06-24 00:21:41 +08:00
2026-07-01 12:32:33 +08:00
2026-06-13 10:19:06 +08:00
2026-06-13 10:19:00 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-05-15 17:02:49 +08:00
2026-06-24 00:21:41 +08:00
2026-06-07 23:32:41 +08:00
2026-07-10 21:41:49 +08:00
2026-07-15 03:34:24 +08:00
2026-06-29 11:01:25 +08:00
2026-06-13 10:19:06 +08:00
2026-07-01 12:32:33 +08:00
2026-06-13 10:19:06 +08:00
2026-06-22 20:50:28 +08:00
2026-06-13 10:18:49 +08:00
2026-06-13 10:18:49 +08:00
2026-07-01 12:32:33 +08:00
2026-06-16 15:16:13 +08:00
2026-06-13 10:19:00 +08:00
2026-07-01 12:32:33 +08:00
2026-07-04 05:46:52 +00:00
2026-06-07 23:32:41 +08:00
2026-06-07 18:27:09 +08:00
2026-06-13 10:19:11 +08:00
2026-06-28 18:57:53 +08:00
2026-06-13 10:19:47 +08:00
2026-07-01 12:32:33 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-13 10:18:55 +08:00
2026-06-07 23:32:41 +08:00
2026-06-07 23:32:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-13 10:19:00 +08:00
2026-06-13 10:19:00 +08:00
2026-06-24 00:21:41 +08:00
2026-06-13 10:19:00 +08:00
2026-06-24 00:21:41 +08:00
2026-06-24 00:21:41 +08:00
2026-06-16 15:16:13 +08:00
2026-06-24 00:21:41 +08:00
2026-06-20 12:35:10 +08:00
2026-06-24 00:21:41 +08:00
2026-07-01 12:32:33 +08:00
2026-06-24 00:21:41 +08:00
2026-06-13 10:19:06 +08:00
2026-06-13 10:18:49 +08:00
2026-06-13 10:19:11 +08:00
2026-06-13 10:19:11 +08:00