celogeek / go-comic-converter

Convert CBZ/CBR/Dir into Epub for e-reader devices (Kindle Devices, ...)
MIT License
69 stars 10 forks source link

AutoSplitDoublePage #11

Closed darodi closed 1 year ago

darodi commented 1 year ago

Hello Celogeek.

I've seen that you disabled panel view in version v2.2.0

However, on Kindle devices smaller than Scribe, this is inconvenient and makes go-comic-converter unusable. :( Large pages are not readable, because too small on devices with small resolution. Panel view was the fast way to read those pages. Pinch and zoom is really too slow on those devices (if the functionality exists, some devices don't even have touch screens, only buttons).

Another problem, AutoRotate works, but AutoSplitDoublePage at the same time doesn't seem to work. I only see the rotated page, it is not followed by 2 split pages.

celogeek commented 1 year ago

Hi, The option for Panel View is not available in the option of the kindle for small device ? I have it available on the scribe, I guess it's a firmware option. Can you check the Aa options, and see if the panel view is available ?

For the autorotate/autosplit, I will check, I've made a huge amount of changes, to support Landscape.

darodi commented 1 year ago

Can you check the Aa options, and see if the panel view is available ?

You're damn right. I had never seen that option! Never mind the panel view then.

I've tried those options:

AutoRotate : false AutoSplitDoublePage : true

The page is not rotated, but not split either. It is not followed by 2 split pages. Am I missing something?

celogeek commented 1 year ago

it's strange. it's what I set as a default. can you give me the output of -show command ? with your conversation settings ?

celogeek commented 1 year ago

A double page is when the width is greater than the height and both exceed the current size of the device.

may be the input resolution is too small ? may be I should check only one of them exceed. or may be I should check that it exceed a ratio or something.

what is your device size and the input image size ?

celogeek commented 1 year ago

how do you detect a double page on kcc?

celogeek commented 1 year ago

here the piece of code:

                // Auto split double page
                // Except for cover
                // Only if the src image have width > height and is bigger than the view
                if (!o.Image.HasCover || img.Id > 0) &&
                    o.Image.AutoSplitDoublePage &&
                    src.Bounds().Dx() > src.Bounds().Dy() &&
                    src.Bounds().Dx() > o.Image.ViewHeight &&
                    src.Bounds().Dy() > o.Image.ViewWidth {

So Dx = width, Dy = height ViewWidth = device width with the perfect ratio applied ViewHeight = device height with the perfect ratio applied

celogeek commented 1 year ago

It looks like in KCC you check that the width > height, I have image that is just a band, like a title or a text, and this will endup into a double page probably. But may be not actually, as the source is often a blank image with the text uncut. Ok I will just check width > height, that should be fine, I will commit it to main branch

celogeek commented 1 year ago

Clone the project, and run

go run . OPTIONS

If ok, I will release again.

celogeek commented 1 year ago

I will release, I think that should be ok. let me know if that's ok now.

celogeek commented 1 year ago
go install github.com/celogeek/go-comic-converter/v2@v2.3.0
darodi commented 1 year ago

It works great now, thanks a lot.