From 6fb09f2084fffed79537808a0255712f30681289 Mon Sep 17 00:00:00 2001 From: Fredrik Unger Date: Mon, 2 Mar 2026 11:54:53 +0100 Subject: [PATCH] docbook: scaling only bitmap images selecting to scale only bitmap images, so that for example svg images are untouched. --- treecutter/docbook.py | 17 ++++++++++------- treecutter/image.py | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/treecutter/docbook.py b/treecutter/docbook.py index 912d0e2..213a75c 100644 --- a/treecutter/docbook.py +++ b/treecutter/docbook.py @@ -66,15 +66,18 @@ class Docbook(): for i in images: os.chdir(self._dirname) im = i.get('fileref') - img = Image(im) + imf = im caption = db.caption() - for p in img.caption().split('\n\n'): - caption.append(db.para(p)) - link = db.para(db.link(img.infostr(), - **{const.XLINK+"href": img.filename()})) - caption.append(link) + if im.endswith((".png", ".jpg")): + img = Image(im) + for p in img.caption().split('\n\n'): + caption.append(db.para(p)) + link = db.para(db.link(img.infostr(), + **{const.XLINK+"href": img.filename()})) + caption.append(link) + imf = img.resize(800,600) mo = db.mediaobject(db.imageobject( - db.imagedata(fileref=img.resize(800,600))),caption) + db.imagedata(fileref=imf)),caption) iop = i.getparent() mop = iop.getparent() mopp = mop.getparent() diff --git a/treecutter/image.py b/treecutter/image.py index 184d387..5f90a5a 100644 --- a/treecutter/image.py +++ b/treecutter/image.py @@ -31,7 +31,7 @@ class Image(): outfile = "%s.%dx%d%s" % (outfile, size[0], size[1], ext) if not os.path.exists(outfile): im = PIL_Image.open(self._filename) - im.thumbnail(size, PIL_Image.ANTIALIAS) + im.thumbnail(size, PIL_Image.LANCZOS) if pad: bg = PIL_Image.new('RGBA', size, (0, 0, 0, 0)) bg.paste(im,((size[0]-im.size[0])/2, (size[1]-im.size[1])/2)) -- 2.30.2