This is an automated email from the git hooks/post-receive script. thansen pushed a commit to branch master in repository aseprite.
commit 065ad4f1dca9404e8f66c6a6224dad918e57807c Author: David Capello <[email protected]> Date: Tue May 3 17:00:50 2016 -0300 Fix blur ink: avoid adding dark pixels when opacity < 255 (fix #708) --- src/app/tools/ink_processing.h | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/src/app/tools/ink_processing.h b/src/app/tools/ink_processing.h index cdd96d9..1dfecdd 100644 --- a/src/app/tools/ink_processing.h +++ b/src/app/tools/ink_processing.h @@ -365,13 +365,10 @@ public: m_area.b /= m_area.count; m_area.a /= 9; - RgbTraits::pixel_t c = *m_srcAddress; - m_area.r = rgba_getr(c) + (m_area.r-rgba_getr(c)) * m_opacity / 255; - m_area.g = rgba_getg(c) + (m_area.g-rgba_getg(c)) * m_opacity / 255; - m_area.b = rgba_getb(c) + (m_area.b-rgba_getb(c)) * m_opacity / 255; - m_area.a = rgba_geta(c) + (m_area.a-rgba_geta(c)) * m_opacity / 255; - - *m_dstAddress = rgba(m_area.r, m_area.g, m_area.b, m_area.a); + *m_dstAddress = + rgba_blender_normal(*m_srcAddress, + rgba(m_area.r, m_area.g, m_area.b, m_area.a), + m_opacity); } else { *m_dstAddress = *m_srcAddress; @@ -419,11 +416,10 @@ public: m_area.v /= m_area.count; m_area.a /= 9; - GrayscaleTraits::pixel_t c = *m_srcAddress; - m_area.v = graya_getv(c) + (m_area.v-graya_getv(c)) * m_opacity / 255; - m_area.a = graya_geta(c) + (m_area.a-graya_geta(c)) * m_opacity / 255; - - *m_dstAddress = graya(m_area.v, m_area.a); + *m_dstAddress = + graya_blender_normal(*m_srcAddress, + graya(m_area.v, m_area.a), + m_opacity); } else { *m_dstAddress = *m_srcAddress; @@ -475,13 +471,13 @@ public: m_area.b /= m_area.count; m_area.a /= 9; - uint32_t color32 = m_palette->getEntry(*m_srcAddress); - m_area.r = rgba_getr(color32) + (m_area.r-rgba_getr(color32)) * m_opacity / 255; - m_area.g = rgba_getg(color32) + (m_area.g-rgba_getg(color32)) * m_opacity / 255; - m_area.b = rgba_getb(color32) + (m_area.b-rgba_getb(color32)) * m_opacity / 255; - m_area.a = rgba_geta(color32) + (m_area.a-rgba_geta(color32)) * m_opacity / 255; + color_t c = + rgba_blender_normal(m_palette->getEntry(*m_srcAddress), + rgba(m_area.r, m_area.g, m_area.b, m_area.a), + m_opacity); - *m_dstAddress = m_rgbmap->mapColor(m_area.r, m_area.g, m_area.b, m_area.a); + *m_dstAddress = m_rgbmap->mapColor( + rgba_getr(c), rgba_getg(c), rgba_getb(c), rgba_geta(c)); } else { *m_dstAddress = *m_srcAddress; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

