mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
added wide-aspect scaling option to comic2lrf
This commit is contained in:
parent
2a87359439
commit
a14eede338
@ -159,6 +159,27 @@ class PageProcessor(list):
|
|||||||
MagickResizeImage(wand, newsizex, newsizey, CatromFilter, 1.0)
|
MagickResizeImage(wand, newsizex, newsizey, CatromFilter, 1.0)
|
||||||
MagickSetImageBorderColor(wand, pw)
|
MagickSetImageBorderColor(wand, pw)
|
||||||
MagickBorderImage(wand, pw, deltax, deltay)
|
MagickBorderImage(wand, pw, deltax, deltay)
|
||||||
|
elif self.opts.wide:
|
||||||
|
# Keep aspect and Use device height as scaled image width so landscape mode is clean
|
||||||
|
aspect = float(sizex) / float(sizey)
|
||||||
|
screen_aspect = float(SCRWIDTH) / float(SCRHEIGHT)
|
||||||
|
# Get dimensions of the landscape mode screen
|
||||||
|
# Add 25px back to height for the battery bar.
|
||||||
|
wscreenx = SCRHEIGHT + 25
|
||||||
|
wscreeny = int(wscreenx / screen_aspect)
|
||||||
|
if aspect <= screen_aspect:
|
||||||
|
newsizey = wscreeny
|
||||||
|
newsizex = int(newsizey * aspect)
|
||||||
|
deltax = (wscreenx - newsizex) / 2
|
||||||
|
deltay = 0
|
||||||
|
else:
|
||||||
|
newsizex = wscreenx
|
||||||
|
newsizey = int(newsizex / aspect)
|
||||||
|
deltax = 0
|
||||||
|
deltay = (wscreeny - newsizey) / 2
|
||||||
|
MagickResizeImage(wand, newsizex, newsizey, CatromFilter, 1.0)
|
||||||
|
MagickSetImageBorderColor(wand, pw)
|
||||||
|
MagickBorderImage(wand, pw, deltax, deltay)
|
||||||
else:
|
else:
|
||||||
MagickResizeImage(wand, SCRWIDTH, SCRHEIGHT, CatromFilter, 1.0)
|
MagickResizeImage(wand, SCRWIDTH, SCRHEIGHT, CatromFilter, 1.0)
|
||||||
|
|
||||||
@ -251,6 +272,8 @@ def config(defaults=None):
|
|||||||
help=_('Disable sharpening.'))
|
help=_('Disable sharpening.'))
|
||||||
c.add_opt('landscape', ['-l', '--landscape'], default=False,
|
c.add_opt('landscape', ['-l', '--landscape'], default=False,
|
||||||
help=_("Don't split landscape images into two portrait images"))
|
help=_("Don't split landscape images into two portrait images"))
|
||||||
|
c.add_opt('wide', ['-w', '--wide-aspect'], default=False,
|
||||||
|
help=_("Keep aspect and scale image using screen height as image width for clean, unscaled, wide landscape viewing"))
|
||||||
c.add_opt('right2left', ['--right2left'], default=False, action='store_true',
|
c.add_opt('right2left', ['--right2left'], default=False, action='store_true',
|
||||||
help=_('Used for right-to-left publications like manga. Causes landscape pages to be split into portrait pages from right to left.'))
|
help=_('Used for right-to-left publications like manga. Causes landscape pages to be split into portrait pages from right to left.'))
|
||||||
c.add_opt('despeckle', ['-d', '--despeckle'], default=False,
|
c.add_opt('despeckle', ['-d', '--despeckle'], default=False,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user