From: Fredrik Unger Date: Mon, 2 Mar 2026 10:54:53 +0000 (+0100) Subject: docbook: scaling only bitmap images X-Git-Url: https://source.tree.se/git?a=commitdiff_plain;h=6fb09f2084fffed79537808a0255712f30681289;p=treecutter.git docbook: scaling only bitmap images selecting to scale only bitmap images, so that for example svg images are untouched. --- 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))