From a19c6beaddf13df6f62bd347e7220f3f741e9979 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Tue, 26 Aug 2014 16:24:31 +0300 Subject: bnc#719994: Fix the duotone filter to actually produce duotone MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not sure what it tried to do earlier, but it was obviously wrong. Change-Id: I0b377c4baa88205a9a7ad7c134ec5bc2223e6205 (cherry picked from commit c03f7f2b427f7fe2b94dfb55ea64670426d1a957) Reviewed-on: https://gerrit.libreoffice.org/11127 Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara --- vcl/source/gdi/bitmap4.cxx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/vcl/source/gdi/bitmap4.cxx b/vcl/source/gdi/bitmap4.cxx index dbda9e68d4e8..04ca76da5ba9 100644 --- a/vcl/source/gdi/bitmap4.cxx +++ b/vcl/source/gdi/bitmap4.cxx @@ -1192,10 +1192,11 @@ bool Bitmap::ImplDuotoneFilter( const sal_uLong nColorOne, const sal_uLong nColo for( int y = 0; y < nHeight; y++ ) { BitmapColor aColor = pReadAcc->GetColor( y, x ); + sal_uInt8 luminance = aColor.GetLuminance(); BitmapColor aResultColor( - lcl_getDuotoneColorComponent( aColor.GetRed(), aColorOne.GetRed(), aColorTwo.GetRed() ) , - lcl_getDuotoneColorComponent( aColor.GetGreen(), aColorOne.GetGreen(), aColorTwo.GetGreen() ) , - lcl_getDuotoneColorComponent( aColor.GetBlue(), aColorOne.GetBlue(), aColorTwo.GetBlue() ) ); + lcl_getDuotoneColorComponent( luminance, aColorOne.GetRed(), aColorTwo.GetRed() ) , + lcl_getDuotoneColorComponent( luminance, aColorOne.GetGreen(), aColorTwo.GetGreen() ) , + lcl_getDuotoneColorComponent( luminance, aColorOne.GetBlue(), aColorTwo.GetBlue() ) ); pWriteAcc->SetPixel( y, x, aResultColor ); } } -- cgit