• Jehan's avatar
    app: improve line art bucket fill by filling unsignificant areas. · 72092fbd
    Jehan authored
    The line art imaginary segments/splines are not added when they create
    too small zones, unless when these are just too small ("unsignificant").
    Why the original algorithm keeps such micro-zones is because there may
    be such zones created when several splines or segments are leaving from
    a same key point (and we don't necessarily won't to forbid this). Also
    we had cases when using very spiky brushes (for the line art) would
    create many zones, and such micro-zones would appear just too often
    (whereas with very smooth lines, they are much rarer, if not totally
    absent most of the time).
    Also it is to be noted that the original paper would call these
    "unsignificant" indeed, but these are definitely significant for the
    artists. Therefore having to "fix" the filling afterwards (with a brush
    for instance) kind of defeat the whole purpose of this tool.
    
    I already had code which would special-case (fill) 1-pixel zones in the
    end, but bigger micro zones could appear (up to 4 pixels in the current
    code, but this could change). Also I don't want to use the "Remove
    Holes" (gimp:flood) operation as I want to make sure I remove only
    micro-holes created by the line art closure code (not micro-holes from
    original line arts in particular).
    
    This code takes care of this issue by filling the micro-holes with
    imaginary line art pixels, which may later be potentially bucket filled
    when water-filling the line art.
    72092fbd
Name
Last commit
Last update
.gitlab Loading commit data...
app Loading commit data...
app-tools Loading commit data...
build Loading commit data...
cursors Loading commit data...
data Loading commit data...
desktop Loading commit data...
devel-docs Loading commit data...
docs Loading commit data...
etc Loading commit data...
icons Loading commit data...
libgimp Loading commit data...
libgimpbase Loading commit data...
libgimpcolor Loading commit data...
libgimpconfig Loading commit data...
libgimpmath Loading commit data...
libgimpmodule Loading commit data...
libgimpthumb Loading commit data...
libgimpwidgets Loading commit data...
m4macros Loading commit data...
menus Loading commit data...
modules Loading commit data...
pdb Loading commit data...
plug-ins Loading commit data...
po Loading commit data...
po-libgimp Loading commit data...
po-plug-ins Loading commit data...
po-python Loading commit data...
po-script-fu Loading commit data...
po-tags Loading commit data...
po-tips Loading commit data...
po-windows-installer Loading commit data...
themes Loading commit data...
tools Loading commit data...
.dir-locals.el Loading commit data...
.gitignore Loading commit data...
.kateconfig Loading commit data...
AUTHORS Loading commit data...
COPYING Loading commit data...
ChangeLog.pre-1-0 Loading commit data...
ChangeLog.pre-1-2 Loading commit data...
ChangeLog.pre-2-0 Loading commit data...
ChangeLog.pre-2-2 Loading commit data...
ChangeLog.pre-2-4 Loading commit data...
ChangeLog.pre-2-6 Loading commit data...
ChangeLog.pre-git Loading commit data...
HACKING Loading commit data...
INSTALL.in Loading commit data...
LICENSE Loading commit data...
MAINTAINERS Loading commit data...
Makefile.am Loading commit data...
NEWS Loading commit data...
NEWS.pre-2-0 Loading commit data...
NEWS.pre-2-10 Loading commit data...
NEWS.pre-2-2 Loading commit data...
NEWS.pre-2-4 Loading commit data...
NEWS.pre-2-6 Loading commit data...
NEWS.pre-2-8 Loading commit data...
README Loading commit data...
README.i18n Loading commit data...
acinclude.m4 Loading commit data...
authors.dtd Loading commit data...
authors.xml Loading commit data...
authors.xsl Loading commit data...
authors4gimp-web.xsl Loading commit data...
autogen.sh Loading commit data...
config.h.win32 Loading commit data...
configure.ac Loading commit data...
gimp-zip.in Loading commit data...
gimp.doap Loading commit data...
gimp.pc.in Loading commit data...
gimpthumb.pc.in Loading commit data...
gimpui.pc.in Loading commit data...