ispyisail
da6eb83035
Add an SVG export option to store pictures smaller
...
An SVG keeps every picture at full resolution, whatever size it is
drawn at: a folio with 22 phone photos shown at a tenth of their size
gave a 270 MB SVG and took 65 s to write, most of it compressing the
photos again.
The export dialog gets "SVG: smaller pictures" (off by default, kept
with the other export settings), and --export-svg gets
--svg-small-pictures. With it, a picture is stored at four times the
size it is drawn at when that is smaller than the picture; smaller
pictures stay whole. Four times is about 375 dpi on a printed folio.
The exporter sets Diagram::smallPictures() for its own drawing only,
so screen, print, PDF and PNG are unchanged. It is not part of
applyProperties(), which every format uses.
On that project: --export-svg 84.9 s -> 34.5 s (opening is 20 s of
both), 270 MB -> 57 MB, peak memory 2.45 -> 1.86 GB. Rendered at twice
the folio size, the two SVGs differ by more than 32/255 on 0.23 % of
pixels, along photo detail.
tst_svgsmallpictures: an 800x600 picture drawn at 0.1 is stored at
320x240 with the option, through --export-svg and through the
dialog's QPicture route, and at 800x600 without it; a 40x30 picture
stays whole. It fails when the factor is changed.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-14 13:12:38 +13:00
..
2026-10-13 11:01:21 +02:00
2026-10-13 11:01:21 +02:00
2026-10-11 05:00:01 +02:00
2026-10-13 12:42:15 +02:00
2026-10-13 23:03:14 +13:00
2026-10-11 05:00:01 +02:00
2026-01-16 15:24:35 +01:00
2026-10-08 12:50:13 +13:00
2026-10-10 16:03:47 +02:00
2026-10-08 12:50:13 +13:00
2026-10-11 05:00:01 +02:00
2026-10-09 23:31:26 +13:00
2026-08-17 10:25:44 +02:00
2026-10-08 12:50:13 +13:00
2026-10-08 12:50:13 +13:00
2026-10-08 12:50:13 +13:00
2026-10-13 11:01:21 +02:00
2026-07-31 09:52:32 +12:00
2026-10-11 05:00:01 +02:00
2026-10-08 12:50:13 +13:00
2026-10-08 12:50:13 +13:00
2026-10-14 13:12:38 +13:00
2026-10-09 05:05:49 +13:00
2026-10-07 10:55:50 +02:00
2026-10-07 10:55:50 +02:00
2026-10-08 12:50:13 +13:00
2026-10-13 07:44:40 +13:00
2026-10-08 12:50:13 +13:00
2026-09-25 23:25:27 +12:00
2026-01-16 15:24:35 +01:00
2026-10-13 11:01:21 +02:00
2026-10-09 08:49:24 +02:00
2026-10-13 11:01:21 +02:00
2026-10-11 05:00:01 +02:00
2026-10-09 22:09:28 +13:00
2026-01-16 15:24:35 +01:00
2026-09-28 09:19:59 +13:00
2026-08-09 09:11:40 +02:00
2026-08-09 09:11:40 +02:00
2026-10-11 05:00:01 +02:00
2026-10-11 05:00:01 +02:00
2026-09-26 08:22:12 +12:00
2026-10-07 23:38:34 +02:00
2026-01-16 15:24:35 +01:00
2026-10-13 23:03:14 +13:00
2026-10-13 23:03:14 +13:00
2026-09-26 21:18:35 +12:00
2026-09-26 21:06:13 +12:00
2026-10-14 13:12:38 +13:00
2026-10-14 13:12:38 +13:00
2026-10-08 12:50:13 +13:00
2026-09-26 21:34:02 +12:00
2026-10-08 12:50:13 +13:00
2026-01-16 15:24:35 +01:00
2026-10-08 12:50:13 +13:00
2026-10-08 12:50:13 +13:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-10-06 17:26:46 +02:00
2026-10-13 11:01:21 +02:00
2026-10-13 11:01:21 +02:00
2026-10-03 08:43:27 +13:00
2026-10-03 08:43:27 +13:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-30 10:31:12 +13:00
2026-01-16 15:24:35 +01:00
2026-09-09 11:45:36 +12:00
2026-10-07 10:12:20 +13:00
2026-10-07 10:12:20 +13:00
2026-10-06 21:09:41 +02:00
2026-10-13 12:42:15 +02:00
2026-10-14 13:12:38 +13:00
2026-10-08 12:50:13 +13:00
2026-10-03 18:09:33 +02:00
2026-09-29 23:23:32 +13:00
2026-09-29 23:23:32 +13:00
2026-10-02 21:04:54 +13:00
2026-09-22 09:07:27 +02:00
2026-09-28 06:16:17 +13:00
2026-09-26 21:40:32 +12:00
2026-10-07 18:38:25 +13:00
2026-10-07 18:38:25 +13:00
2026-09-27 11:16:37 +13:00
2026-01-16 15:24:35 +01:00
2026-09-07 20:54:18 +12:00
2026-10-11 05:00:01 +02:00
2026-10-07 18:34:51 +13:00
2026-10-13 11:01:21 +02:00
2026-10-13 11:01:21 +02:00
2026-10-07 21:17:38 +13:00
2026-09-27 21:54:44 +13:00
2026-09-07 10:44:30 +02:00
2026-09-07 10:44:30 +02:00
2026-10-08 12:50:13 +13:00
2026-04-26 10:48:47 +02:00
2026-10-13 11:01:21 +02:00
2026-10-13 11:01:21 +02:00
2026-10-08 12:50:13 +13:00
2026-01-16 15:24:35 +01:00
2026-09-19 12:22:24 -05:00
2026-01-16 15:24:35 +01:00
2026-10-11 05:00:01 +02:00
2026-10-11 05:00:01 +02:00
2026-10-08 12:50:13 +13:00
2026-05-13 19:42:11 +02:00
2026-10-13 11:01:21 +02:00
2026-08-04 16:36:23 +12:00
2026-10-08 12:50:13 +13:00
2026-01-16 15:24:35 +01:00
2026-10-08 12:50:13 +13:00
2026-09-26 10:22:50 +12:00
2026-10-14 13:12:38 +13:00
2026-09-27 21:54:36 +13:00
2026-10-14 13:12:38 +13:00
2026-10-14 13:12:38 +13:00
2026-10-14 13:12:38 +13:00
2026-10-14 13:12:38 +13:00
2026-10-08 06:04:35 +02:00
2026-10-13 11:01:21 +02:00
2026-04-19 10:44:52 +02:00
2026-10-07 18:38:25 +13:00
2026-10-07 18:38:25 +13:00
2026-10-10 20:27:01 +13:00
2026-10-09 10:00:31 +02:00
2026-09-28 14:55:04 +02:00
2026-09-28 14:55:04 +02:00
2026-09-16 15:40:41 +12:00
2026-09-16 15:40:41 +12:00
2026-10-08 12:50:13 +13:00
2026-06-20 22:31:06 +12:00
2026-10-07 01:51:00 +02:00
2026-10-08 12:50:13 +13:00
2026-01-16 15:24:35 +01:00
2026-10-06 21:09:41 +02:00
2026-10-06 21:09:41 +02:00
2026-10-12 16:02:26 +02:00
2026-10-04 08:54:13 +13:00
2026-10-08 06:03:31 +02:00
2026-10-13 11:01:21 +02:00
2026-08-12 12:29:56 +02:00
2026-10-13 11:01:21 +02:00
2026-10-13 11:01:21 +02:00
2026-10-13 07:44:40 +13:00
2026-10-11 05:00:01 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-10-13 11:01:21 +02:00
2026-10-11 05:00:01 +02:00
2026-10-11 05:00:01 +02:00
2026-10-11 05:00:01 +02:00
2026-10-09 05:05:49 +13:00
2026-10-08 15:29:05 +02:00
2026-10-08 12:50:13 +13:00
2026-10-07 19:31:42 +13:00
2026-08-05 05:26:57 +12:00
2026-08-05 05:26:57 +12:00
2026-10-06 21:09:41 +02:00
2026-10-06 21:09:41 +02:00
2026-10-13 12:47:40 +02:00
2026-10-13 12:47:40 +02:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-09-20 12:45:07 -05:00
2026-09-19 12:26:06 -05:00
2026-08-16 07:16:33 +02:00
2026-01-16 15:24:35 +01:00
2026-10-08 12:50:13 +13:00
2026-07-17 10:25:49 +02:00
2026-10-08 12:50:13 +13:00
2026-01-16 15:24:35 +01:00
2026-09-17 00:07:46 +02:00
2026-09-17 00:07:46 +02:00
2026-08-09 01:34:22 +02:00
2026-01-16 15:24:35 +01:00
2026-10-08 12:50:13 +13:00
2026-01-16 15:24:35 +01:00
2026-07-17 10:29:13 +02:00
2026-07-17 10:29:13 +02:00
2026-10-08 12:50:13 +13:00
2026-09-27 09:09:44 +02:00
2026-10-06 08:17:16 +13:00
2026-10-06 08:17:16 +13:00
2026-10-04 00:07:16 +13:00
2026-10-04 00:07:16 +13:00
2026-09-30 18:12:43 +13:00
2026-09-26 10:22:50 +12:00
2026-10-06 09:53:49 +02:00
2026-10-05 17:53:38 +02:00
2026-10-08 12:50:13 +13:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-01-16 15:24:35 +01:00
2026-10-08 12:50:13 +13:00
2026-10-07 08:13:52 +13:00
2026-10-07 08:13:52 +13:00
2026-10-07 08:13:52 +13:00
2026-10-07 07:05:12 +13:00
2026-10-06 09:14:35 +13:00
2026-10-01 21:18:12 +13:00
2026-10-01 21:18:12 +13:00
2026-10-08 12:50:13 +13:00
2026-10-01 16:50:56 +13:00
2026-10-04 01:43:37 +13:00
2026-10-04 01:43:37 +13:00