mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 18:54:09 -04:00
Make function naming in the util.img module consistent
This commit is contained in:
parent
58b05d6a25
commit
25cb6a57f1
@ -15,7 +15,7 @@ from io import BytesIO
|
||||
from calibre.customize.ui import metadata_plugins
|
||||
from calibre.ebooks.metadata.sources.base import create_log
|
||||
from calibre.ebooks.metadata.sources.prefs import msprefs
|
||||
from calibre.utils.img import save_cover_data_to, remove_borders, image_to_data, image_from_data
|
||||
from calibre.utils.img import save_cover_data_to, remove_borders_from_image, image_to_data, image_from_data
|
||||
from calibre.utils.imghdr import identify
|
||||
|
||||
class Worker(Thread):
|
||||
@ -62,7 +62,7 @@ def process_result(log, result):
|
||||
try:
|
||||
if getattr(plugin, 'auto_trim_covers', False):
|
||||
img = image_from_data(data)
|
||||
nimg = remove_borders(img)
|
||||
nimg = remove_borders_from_image(img)
|
||||
if nimg is not img:
|
||||
data = image_to_data(nimg)
|
||||
fmt, width, height = identify(data)
|
||||
|
@ -200,12 +200,12 @@ class MyBlockingBusy(QDialog): # {{{
|
||||
if covers:
|
||||
cache.set_cover({book_id:covers[-1][0]})
|
||||
elif args.cover_action == 'trim':
|
||||
from calibre.utils.img import remove_borders, image_to_data, image_from_data
|
||||
from calibre.utils.img import remove_borders_from_image, image_to_data, image_from_data
|
||||
for book_id in self.ids:
|
||||
cdata = cache.cover(book_id)
|
||||
if cdata:
|
||||
img = image_from_data(cdata)
|
||||
nimg = remove_borders(img)
|
||||
nimg = remove_borders_from_image(img)
|
||||
if nimg is not img:
|
||||
cdata = image_to_data(nimg)
|
||||
cache.set_cover({book_id:cdata})
|
||||
|
@ -1108,9 +1108,9 @@ class Cover(ImageView): # {{{
|
||||
cdata = self.current_val
|
||||
if not cdata:
|
||||
return
|
||||
from calibre.utils.img import remove_borders, image_to_data, image_from_data
|
||||
from calibre.utils.img import remove_borders_from_image, image_to_data, image_from_data
|
||||
img = image_from_data(cdata)
|
||||
nimg = remove_borders(img)
|
||||
nimg = remove_borders_from_image(img)
|
||||
if nimg is not img:
|
||||
self.cdata_before_trim = cdata
|
||||
self.current_val = image_to_data(nimg, fmt='png')
|
||||
|
@ -22,8 +22,8 @@ from calibre.gui2.dnd import (
|
||||
from calibre.gui2.tweak_book import capitalize
|
||||
from calibre.utils.imghdr import identify
|
||||
from calibre.utils.img import (
|
||||
remove_borders, gaussian_sharpen, gaussian_blur, image_to_data, despeckle,
|
||||
normalize, oil_paint
|
||||
remove_borders_from_image, gaussian_sharpen_image, gaussian_blur_image, image_to_data, despeckle_image,
|
||||
normalize_image, oil_paint_image
|
||||
)
|
||||
|
||||
def painter(func):
|
||||
@ -101,7 +101,7 @@ class AutoTrim(Trim):
|
||||
TEXT = _('Auto-trim image')
|
||||
|
||||
def __call__(self, canvas):
|
||||
return remove_borders(canvas.current_image)
|
||||
return remove_borders_from_image(canvas.current_image)
|
||||
|
||||
class Rotate(Command):
|
||||
|
||||
@ -135,7 +135,7 @@ class Sharpen(Command):
|
||||
Command.__init__(self, canvas)
|
||||
|
||||
def __call__(self, canvas):
|
||||
return gaussian_sharpen(canvas.current_image, sigma=self.sigma)
|
||||
return gaussian_sharpen_image(canvas.current_image, sigma=self.sigma)
|
||||
|
||||
class Blur(Sharpen):
|
||||
|
||||
@ -143,7 +143,7 @@ class Blur(Sharpen):
|
||||
FUNC = 'blur'
|
||||
|
||||
def __call__(self, canvas):
|
||||
return gaussian_blur(canvas.current_image, sigma=self.sigma)
|
||||
return gaussian_blur_image(canvas.current_image, sigma=self.sigma)
|
||||
|
||||
class Oilify(Command):
|
||||
|
||||
@ -154,21 +154,21 @@ class Oilify(Command):
|
||||
Command.__init__(self, canvas)
|
||||
|
||||
def __call__(self, canvas):
|
||||
return oil_paint(canvas.current_image, radius=self.radius)
|
||||
return oil_paint_image(canvas.current_image, radius=self.radius)
|
||||
|
||||
class Despeckle(Command):
|
||||
|
||||
TEXT = _('De-speckle image')
|
||||
|
||||
def __call__(self, canvas):
|
||||
return despeckle(canvas.current_image)
|
||||
return despeckle_image(canvas.current_image)
|
||||
|
||||
class Normalize(Command):
|
||||
|
||||
TEXT = _('Normalize image')
|
||||
|
||||
def __call__(self, canvas):
|
||||
return normalize(canvas.current_image)
|
||||
return normalize_image(canvas.current_image)
|
||||
|
||||
class Replace(Command):
|
||||
|
||||
|
@ -56,7 +56,8 @@ def image_and_format_from_data(data):
|
||||
fmt = bytes(r.format()).decode('utf-8')
|
||||
return r.read(), fmt
|
||||
|
||||
def add_borders(img, left=0, top=0, right=0, bottom=0, border_color='#ffffff'):
|
||||
def add_borders_to_image(img, left=0, top=0, right=0, bottom=0, border_color='#ffffff'):
|
||||
img = image_from_data(img)
|
||||
if not (left > 0 or right > 0 or top > 0 or bottom > 0):
|
||||
return img
|
||||
canvas = QImage(img.width() + left + right, img.height() + top + bottom, QImage.Format_RGB32)
|
||||
@ -171,13 +172,7 @@ def normalize_format_name(fmt):
|
||||
fmt = 'jpeg'
|
||||
return fmt
|
||||
|
||||
def add_borders_to_image(img_data, left=0, top=0, right=0, bottom=0,
|
||||
border_color='#ffffff', fmt='jpg'):
|
||||
img = image_from_data(img_data)
|
||||
img = add_borders(img, left=left, top=top, right=right, bottom=bottom, border_color=border_color)
|
||||
return image_to_data(img, fmt=fmt)
|
||||
|
||||
def to_grayscale(img):
|
||||
def grayscale_image(img):
|
||||
if imageops is not None:
|
||||
return imageops.grayscale(img)
|
||||
return img
|
||||
@ -219,7 +214,7 @@ def save_cover_data_to(data, path=None, bgcolor='#ffffff', resize_to=None, compr
|
||||
if grayscale:
|
||||
if not img.allGray():
|
||||
changed = True
|
||||
img = to_grayscale(img)
|
||||
img = grayscale_image(img)
|
||||
if path is None:
|
||||
return image_to_data(img, compression_quality, fmt) if changed else data
|
||||
with lopen(path, 'wb') as f:
|
||||
@ -263,7 +258,7 @@ def rotate_image(img, degrees):
|
||||
t.rotate(degrees)
|
||||
return image_from_data(img).transformed(t)
|
||||
|
||||
def remove_borders(img, fuzz=None):
|
||||
def remove_borders_from_image(img, fuzz=None):
|
||||
''' Try to auto-detect and remove any borders from the image. Returns
|
||||
the image itself if no borders could be removed. `fuzz` is a measure of
|
||||
what colors are considered identical (must be a number between 0 and 255 in
|
||||
@ -274,32 +269,32 @@ def remove_borders(img, fuzz=None):
|
||||
ans = imageops.remove_borders(image_from_data(img), max(0, fuzz))
|
||||
return ans if ans.size() != img.size() else img
|
||||
|
||||
def gaussian_sharpen(img, radius=0, sigma=3, high_quality=True):
|
||||
def gaussian_sharpen_image(img, radius=0, sigma=3, high_quality=True):
|
||||
if imageops is None:
|
||||
raise RuntimeError(imageops_err)
|
||||
return imageops.gaussian_sharpen(image_from_data(img), max(0, radius), sigma, high_quality)
|
||||
|
||||
def gaussian_blur(img, radius=-1, sigma=3):
|
||||
def gaussian_blur_image(img, radius=-1, sigma=3):
|
||||
if imageops is None:
|
||||
raise RuntimeError(imageops_err)
|
||||
return imageops.gaussian_blur(image_from_data(img), max(0, radius), sigma)
|
||||
|
||||
def despeckle(img):
|
||||
def despeckle_image(img):
|
||||
if imageops is None:
|
||||
raise RuntimeError(imageops_err)
|
||||
return imageops.despeckle(image_from_data(img))
|
||||
|
||||
def oil_paint(img, radius=-1, high_quality=True):
|
||||
def oil_paint_image(img, radius=-1, high_quality=True):
|
||||
if imageops is None:
|
||||
raise RuntimeError(imageops_err)
|
||||
return imageops.oil_paint(image_from_data(img), radius, high_quality)
|
||||
|
||||
def normalize(img):
|
||||
def normalize_image(img):
|
||||
if imageops is None:
|
||||
raise RuntimeError(imageops_err)
|
||||
return imageops.normalize(image_from_data(img))
|
||||
|
||||
def quantize(img, max_colors=256, dither=True, palette=''):
|
||||
def quantize_image(img, max_colors=256, dither=True, palette=''):
|
||||
''' Quantize the image to contain a maximum of `max_colors` colors. By
|
||||
default a palette is chosen automatically, if you want to use a fixed
|
||||
palette, then pass in a list of color names in the `palette` variable. If
|
||||
@ -434,12 +429,12 @@ def test(): # {{{
|
||||
if glob('*.bak'):
|
||||
raise SystemExit('Spurious .bak files left behind')
|
||||
img = image_from_data(I('devices/kindle.jpg', data=True, allow_user_override=False))
|
||||
quantize(img)
|
||||
oil_paint(img)
|
||||
gaussian_sharpen(img)
|
||||
gaussian_blur(img)
|
||||
despeckle(img)
|
||||
remove_borders(img)
|
||||
quantize_image(img)
|
||||
oil_paint_image(img)
|
||||
gaussian_sharpen_image(img)
|
||||
gaussian_blur_image(img)
|
||||
despeckle_image(img)
|
||||
remove_borders_from_image(img)
|
||||
# }}}
|
||||
|
||||
if __name__ == '__main__': # {{{
|
||||
|
@ -28,7 +28,7 @@ from calibre.utils.threadpool import WorkRequest, ThreadPool, NoResultsPending
|
||||
from calibre.ptempfile import PersistentTemporaryFile
|
||||
from calibre.utils.date import now as nowf
|
||||
from calibre.utils.icu import numeric_sort_key
|
||||
from calibre.utils.img import save_cover_data_to, add_borders_to_image
|
||||
from calibre.utils.img import save_cover_data_to, add_borders_to_image, image_to_data
|
||||
from calibre.utils.localization import canonicalize_lang
|
||||
from calibre.utils.logging import ThreadSafeWrapper
|
||||
|
||||
@ -1276,10 +1276,10 @@ class BasicNewsRecipe(Recipe):
|
||||
if not cdata:
|
||||
return
|
||||
if self.cover_margins[0] or self.cover_margins[1]:
|
||||
cdata = add_borders_to_image(cdata,
|
||||
cdata = image_to_data(add_borders_to_image(cdata,
|
||||
left=self.cover_margins[0],right=self.cover_margins[0],
|
||||
top=self.cover_margins[1],bottom=self.cover_margins[1],
|
||||
border_color=self.cover_margins[2])
|
||||
border_color=self.cover_margins[2]))
|
||||
|
||||
cpath = os.path.join(self.output_dir, 'cover.jpg')
|
||||
save_cover_data_to(cdata, cpath)
|
||||
|
Loading…
x
Reference in New Issue
Block a user