Bug 128270 - Open graphics in Draw with page size from image dimension without margins
Summary: Open graphics in Draw with page size from image dimension without margins
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
Version:
(earliest affected)
6.1.6.3 release
Hardware: x86-64 (AMD64) All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: ImpressDraw-Enhancements
  Show dependency treegraph
 
Reported: 2019-10-20 11:02 UTC by Gerry Garvey
Modified: 2023-05-12 15:51 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gerry Garvey 2019-10-20 11:02:34 UTC
When a png or eps image file is opened, LO creates an A4 portrait page by default and places the image on it. Could it create a custom sized page instead based on image characteristics as done when opening SVG files?
Comment 1 V Stuart Foote 2019-10-20 16:27:21 UTC
Agree there is utility to doing this when import filter 'opening' a graphic or image format. Perhaps as default behavior, as done now for SVG.

Behavior now, opening to user profile defaults page size (not just A4), comes from the shared sd source for Draw & Impress where document creation is normally multi-slide/page ODF presentation or drawing. Opening a PNG, JPG, EPS image onto document page (shrinking it to fit page margins) is conducive to efficient creation of a multi-page presentation starting with the initial open.

But, we could increase utility for use of Draw as an graphic/image editor if default for Draw import filter opening would be to place a graphic/image onto a canvas matching the image size.

And while looking at this, the resulting canvas should not assign margins (as is done now but ignored for SVG import opening).

Would actually improve flow of using Draw ODF drawings for OLE embedding.

Changing this, we might need to provide an optional 'open to default page size' and 'observe margins'.
Comment 2 V Stuart Foote 2019-10-20 16:55:28 UTC
Interstingly the Corel Draw import filter for .CDR vector graphics will, like .SVG import filter, size the canvas to the graphic. But unlike the SVG filter it does not assign a margin. 

Its behavior is close to what all the import filters should have on import opening to Draw.
Comment 3 Heiko Tietze 2019-10-21 09:24:29 UTC Comment hidden (me-too)
Comment 4 Gerry Garvey 2019-10-24 17:16:19 UTC
Does this need a dialogue with user if they open an image file and LO needs to create a new document? This could allow user to select how they wanted the document to be created - page size (full page or fit to size), margins (yes/no), populate document properties from image file meta-data (yes/no).
Comment 5 V Stuart Foote 2019-10-24 18:36:00 UTC
(In reply to Gerry Garvey from comment #4)
> Does this need a dialogue with user if they open an image file and LO needs
> to create a new document? This could allow user to select how they wanted
> the document to be created - page size (full page or fit to size), margins
> (yes/no), populate document properties from image file meta-data (yes/no).

I'd prefer not to complicate things. Would think the default 'Open' import filter  handling should consistently just result in a Draw canvas sized to the image's bounds--a bounding box, or image size in pixels, or image size in measurement units. Reduce it to reasonable units if too far oversize--but handle the opening at the image's aspect ratio -- minimal or no margins to canvas edge. We'd always 'Open' into Draw.

The 'Insert' import filter should, where appropriate, resize and shrink the image keeping aspect ration so as to fit within margins of a document page. I don't think we need resize and expand to image--but if simpler in the filter to do so then fine.

I would think doing these adjustments for all image formats, the filters would cover common worklows with the simplest refactoring of the filters.

Reconfigurations for 'Insert' filters, or OLE embedding workflows, would support directly creating new a document page (i.e. other than Draw module) from the incoming image.