|
|
#31 |
|
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 10,044
Karma: 7518950
Join Date: Nov 2009
Device: many
|
Great thank you for testing and finding those errors.
|
|
|
|
|
|
#32 |
|
Bibliophagist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 54,471
Karma: 182218685
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
|
Anyone running Windows and interested in testing this addition can download Sigil-2.8.5-Windows-x64-Setup.exe.
The SHA-256 for this compile of Sigil-2.8.5-Windows-x64-Setup.exe is: 206080F6964FAE8F5B5A38E4BA506EA79A3C2562B00F0835BA 8310EEB2359B96 |
|
|
|
| Advert | |
|
|
|
|
#33 | |
|
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 10,044
Karma: 7518950
Join Date: Nov 2009
Device: many
|
Quote:
|
|
|
|
|
|
|
#34 |
|
Evangelist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 430
Karma: 100100
Join Date: Nov 2015
Location: Europe EEC
Device: Kindle Fire HD6 & HD8
|
I've installed the new version by DNSB to have a try at editing an image in Sigil. This is not a feature I've ever given any thought to. Most images I deal with are made and modified in an external tool such as Inkscape.
I tried the different features and all seemed to be as advertised. Mindful of the need to save the changes so that Sigil would know that the epub had been modified, I tried to save them. I was met with the message: "Image save failed: Unsupported image format" The images are all .gif's because that gives the smallest file size. They are all black/white line drawings, and they survive whatever torture KDP puts them through. The practical advantage is that with between 70 and 100/epub, gif's provide the author around an extra $0.5/book in royalties. The same manipulations on the jpeg Cover image did save as advertised so I would say it looks good for those who can benefit from this functionality. |
|
|
|
|
|
#35 |
|
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 10,044
Karma: 7518950
Join Date: Nov 2009
Device: many
|
I have not tested saving a gif in years. I only ever see png anymore. I will test with a gif and try to track down and fix that bug.
Thanks for the bug report. |
|
|
|
| Advert | |
|
|
|
|
#36 |
|
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 29,755
Karma: 212493355
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
I can confirm that gifs can't be saved using AdjustImage. Even with the earlier incarnation in Sigil 2.8.1
|
|
|
|
|
|
#37 |
|
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 10,044
Karma: 7518950
Join Date: Nov 2009
Device: many
|
A web search says that saving GIFS in Qt may be disabled on some platforms depending on encoder licensing. But I thought the patent on gifs went away long ago.
I may have to use the python interface to use Pillow to save a gif, if this is something Qt has disabled or does not include the gif image plugin. |
|
|
|
|
|
#38 |
|
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 29,755
Karma: 212493355
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
I only tested it on Linux.
|
|
|
|
|
|
#39 |
|
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 10,044
Karma: 7518950
Join Date: Nov 2009
Device: many
|
Argh here is the qimage.cpp from github qtbase master:
Code:
Simply call the save() function to save a QImage object.
The complete list of supported file formats are available through
the QImageReader::supportedImageFormats() and
QImageWriter::supportedImageFormats() functions. New file formats
can be added as plugins. By default, Qt supports the following
formats:
\table
\header \li Format \li Description \li Qt's support
\row \li BMP \li Windows Bitmap \li Read/write
\row \li GIF \li Graphic Interchange Format (optional) \li Read
\row \li JPG \li Joint Photographic Experts Group \li Read/write
\row \li JPEG \li Joint Photographic Experts Group \li Read/write
\row \li PNG \li Portable Network Graphics \li Read/write
\row \li PBM \li Portable Bitmap \li Read
\row \li PGM \li Portable Graymap \li Read
\row \li PPM \li Portable Pixmap \li Read/write
\row \li XBM \li X11 Bitmap \li Read/write
\row \li XPM \li X11 Pixmap \li Read/write
\endtable
Qt really makes some silly decisions sometimes. |
|
|
|
|
|
#40 |
|
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 10,044
Karma: 7518950
Join Date: Nov 2009
Device: many
|
And here is what a google AI says:
AI Overview Qt does not support writing GIF files by default because the built-in qgif image format plugin only implements reading capabilities. GitHub +1 To enable GIF writing in a Qt application, you must use a third-party library or wrapper, as Qt's native architecture does not include a GIF encoder plugin out of the box. Qt Forum +2 Solutions for GIF Writing Use an external wrapper library: Integrate a third-party wrapper like qt-gif-plugin on GitHub, which acts as a giflib adapter to add GIF writing support to Qt's image handling system. GitHub Encode frames manually via third-party libraries: Extract raw pixel data or convert QImage objects into formats compatible with dedicated encoders like giflib, FreeImage, or Libav, then write the output directly to a file or byte array. Qt Forum +1 Save as an alternative sequence: Export individual frames as PNG or WebP files using QImage::save() and assemble them into an animated GIF using an external tool. |
|
|
|
|
|
#41 |
|
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 10,044
Karma: 7518950
Join Date: Nov 2009
Device: many
|
So I will have to write code to take a QImage that is a GIF and invoke EmbedPython Routine to pass in the data and path to the file to Pillow and ask it to do the save.
Oh what fun! |
|
|
|
|
|
#42 |
|
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 10,044
Karma: 7518950
Join Date: Nov 2009
Device: many
|
The easiest way to handle this is inside AdjustImage, is to convert the gif to png and save it to a temp file, then via embedded python invoke python code passing in only the path to the temp png and the path to the original gif to over write.
Then use Pillow to load the png from the temp path and write out a gif to the original gif path. I could probably do that for the other file formats that Qt can only Read but not Write. What nonsense! |
|
|
|
|
|
#43 | |
|
Evangelist
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 430
Karma: 100100
Join Date: Nov 2015
Location: Europe EEC
Device: Kindle Fire HD6 & HD8
|
Quote:
I'm unlikely to edit gif's in Sigil. If an image needs some editing, it will be in the content, not the size, or the cropping - and that means going back to Inkscape, exporting as png and then using ImageMagick's mogrify command to convert to gif. |
|
|
|
|
|
|
#44 |
|
Sigil Developer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 10,044
Karma: 7518950
Join Date: Nov 2009
Device: many
|
Understood. But I think basic gif read and write (at least for static gifs) should be part of AdjustImage.
|
|
|
|
|
|
#45 |
|
Grand Sorcerer
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 29,755
Karma: 212493355
Join Date: Jan 2010
Device: Nexus 7, Kindle Fire HD
|
Keep in mind that that will make Pillow a hard requirement for Sigil. Not a big deal with our Windows/macOS bundles and Linux AppImage, but we'll need to make sure to to allow for graceful failure for distro versions (where Pillow is considered optional--for use with 3rd-party plugins). Even if we make Pillow a requirement, it often takes them a while to pick up on such things.
|
|
|
|
![]() |
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Improvements on notes | danielo515 | Onyx Boox | 1 | 09-03-2018 08:35 AM |
| How many 'improvements' do we really need? | Fozzybear | General Discussions | 61 | 04-15-2012 12:38 PM |
| Improvements for PRS900 | unknownhero | Sony Reader | 28 | 05-06-2010 06:29 PM |
| Most Important Improvements | TedPark | Sony Reader Dev Corner | 4 | 06-21-2008 11:04 AM |