diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-03-01 12:00:24 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-03-01 12:40:03 +0100 |
commit | 3d400321910ff0fe89ab8c70c59432e676cb1340 (patch) | |
tree | b75317083d3a3cc452ad38b095d74f92b51a7923 /filter | |
parent | eb1049597bd92d61a2ad319bc9a2c3f9a08dd259 (diff) |
tdf#116001 Incorrect Colors in Chart Wall Area
regression from
commit b10c7022f1be6e4825269bd5872575b5b53744ef
"use RawBitmap in BPixelRasterToBitmapEx"
we need to implement alpha support in vcl::bitmap::CreateFromData
Change-Id: I68bebbe1dd15e3bb04de312309c1631d6bb7fe2d
Reviewed-on: https://gerrit.libreoffice.org/50556
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'filter')
-rw-r--r-- | filter/source/graphicfilter/icgm/bitmap.cxx | 2 | ||||
-rw-r--r-- | filter/source/graphicfilter/ieps/ieps.cxx | 2 | ||||
-rw-r--r-- | filter/source/graphicfilter/ipbm/ipbm.cxx | 6 | ||||
-rw-r--r-- | filter/source/graphicfilter/ipcd/ipcd.cxx | 2 | ||||
-rw-r--r-- | filter/source/graphicfilter/ipcx/ipcx.cxx | 2 | ||||
-rw-r--r-- | filter/source/graphicfilter/ipict/ipict.cxx | 10 | ||||
-rw-r--r-- | filter/source/graphicfilter/ipsd/ipsd.cxx | 2 | ||||
-rw-r--r-- | filter/source/graphicfilter/iras/iras.cxx | 2 | ||||
-rw-r--r-- | filter/source/graphicfilter/itga/itga.cxx | 2 | ||||
-rw-r--r-- | filter/source/msfilter/msdffimp.cxx | 4 |
10 files changed, 17 insertions, 17 deletions
diff --git a/filter/source/graphicfilter/icgm/bitmap.cxx b/filter/source/graphicfilter/icgm/bitmap.cxx index c98a6b5ac76e..a1ee269a408c 100644 --- a/filter/source/graphicfilter/icgm/bitmap.cxx +++ b/filter/source/graphicfilter/icgm/bitmap.cxx @@ -69,7 +69,7 @@ void CGMBitmap::ImplGetBitmap( CGMBitmapDescriptor& rDesc ) if (!(ImplGetDimensions(rDesc) && rDesc.mpBuf && isLegalBitsPerPixel(rDesc.mnDstBitsPerPixel))) return; - vcl::bitmap::RawBitmap aBitmap( Size( rDesc.mnX, rDesc.mnY ) ); + vcl::bitmap::RawBitmap aBitmap( Size( rDesc.mnX, rDesc.mnY ), 24 ); // the picture may either be read from left to right or right to left, from top to bottom ... diff --git a/filter/source/graphicfilter/ieps/ieps.cxx b/filter/source/graphicfilter/ieps/ieps.cxx index ee634180c1f1..cf398e481e78 100644 --- a/filter/source/graphicfilter/ieps/ieps.cxx +++ b/filter/source/graphicfilter/ieps/ieps.cxx @@ -662,7 +662,7 @@ ipsGraphicImport( SvStream & rStream, Graphic & rGraphic, FilterConfigItem* ) { rStream.Seek( nBufStartPos + ( pDest - pBuf.get() ) ); - vcl::bitmap::RawBitmap aBitmap( Size( nWidth, nHeight ) ); + vcl::bitmap::RawBitmap aBitmap( Size( nWidth, nHeight ), 24 ); { bool bIsValid = true; sal_uInt8 nDat = 0; diff --git a/filter/source/graphicfilter/ipbm/ipbm.cxx b/filter/source/graphicfilter/ipbm/ipbm.cxx index 06f51d0e9bac..ee50754e30ae 100644 --- a/filter/source/graphicfilter/ipbm/ipbm.cxx +++ b/filter/source/graphicfilter/ipbm/ipbm.cxx @@ -92,7 +92,7 @@ bool PBMReader::ReadPBM(Graphic & rGraphic ) if (nRemainingSize < nPixelsRequired / 8) return false; - mpRawBmp.reset( new vcl::bitmap::RawBitmap( Size( mnWidth, mnHeight ) ) ); + mpRawBmp.reset( new vcl::bitmap::RawBitmap( Size( mnWidth, mnHeight ), 24 ) ); mvPalette.resize( 2 ); mvPalette[0] = Color( 0xff, 0xff, 0xff ); mvPalette[1] = Color( 0x00, 0x00, 0x00 ); @@ -102,7 +102,7 @@ bool PBMReader::ReadPBM(Graphic & rGraphic ) if (nRemainingSize < nPixelsRequired) return false; - mpRawBmp.reset( new vcl::bitmap::RawBitmap( Size( mnWidth, mnHeight ) ) ); + mpRawBmp.reset( new vcl::bitmap::RawBitmap( Size( mnWidth, mnHeight ), 24 ) ); mnCol = static_cast<sal_uInt16>(mnMaxVal) + 1; if ( mnCol > 256 ) mnCol = 256; @@ -118,7 +118,7 @@ bool PBMReader::ReadPBM(Graphic & rGraphic ) if (nRemainingSize / 3 < nPixelsRequired) return false; - mpRawBmp.reset( new vcl::bitmap::RawBitmap( Size( mnWidth, mnHeight ) ) ); + mpRawBmp.reset( new vcl::bitmap::RawBitmap( Size( mnWidth, mnHeight ), 24 ) ); break; } diff --git a/filter/source/graphicfilter/ipcd/ipcd.cxx b/filter/source/graphicfilter/ipcd/ipcd.cxx index 18b6d99b2c42..cd2f306b499d 100644 --- a/filter/source/graphicfilter/ipcd/ipcd.cxx +++ b/filter/source/graphicfilter/ipcd/ipcd.cxx @@ -148,7 +148,7 @@ bool PCDReader::ReadPCD( Graphic & rGraphic, FilterConfigItem* pConfigItem ) nBMPWidth = nHeight; nBMPHeight = nWidth; } - mpBitmap.reset(new vcl::bitmap::RawBitmap( Size( nBMPWidth, nBMPHeight ) )); + mpBitmap.reset(new vcl::bitmap::RawBitmap( Size( nBMPWidth, nBMPHeight ), 24 )); ReadImage(); diff --git a/filter/source/graphicfilter/ipcx/ipcx.cxx b/filter/source/graphicfilter/ipcx/ipcx.cxx index 51b50be2fa56..3a4e8a64b73f 100644 --- a/filter/source/graphicfilter/ipcx/ipcx.cxx +++ b/filter/source/graphicfilter/ipcx/ipcx.cxx @@ -105,7 +105,7 @@ bool PCXReader::ReadPCX(Graphic & rGraphic) // Write BMP header and conditionally (maybe invalid for now) color palette: if (bStatus) { - mpBitmap.reset( new vcl::bitmap::RawBitmap( Size( nWidth, nHeight ) ) ); + mpBitmap.reset( new vcl::bitmap::RawBitmap( Size( nWidth, nHeight ), 24 ) ); if ( nDestBitsPerPixel <= 8 ) { diff --git a/filter/source/graphicfilter/ipict/ipict.cxx b/filter/source/graphicfilter/ipict/ipict.cxx index 193c18656d62..d6e37740dff1 100644 --- a/filter/source/graphicfilter/ipict/ipict.cxx +++ b/filter/source/graphicfilter/ipict/ipict.cxx @@ -850,7 +850,7 @@ sal_uLong PictReader::ReadPixMapEtc( BitmapEx &rBitmap, bool bBaseAddr, bool bCo return 0xffffffff; } - pBitmap.reset(new vcl::bitmap::RawBitmap( Size(nWidth, nHeight) )); + pBitmap.reset(new vcl::bitmap::RawBitmap( Size(nWidth, nHeight), 24 )); for (sal_uInt16 ny = 0; ny < nHeight; ++ny) { @@ -932,7 +932,7 @@ sal_uLong PictReader::ReadPixMapEtc( BitmapEx &rBitmap, bool bBaseAddr, bool bCo return 0xffffffff; } - pBitmap.reset(new vcl::bitmap::RawBitmap( Size(nWidth, nHeight) )); + pBitmap.reset(new vcl::bitmap::RawBitmap( Size(nWidth, nHeight), 24 )); for (sal_uInt16 ny = 0; ny < nHeight; ++ny) { @@ -1027,7 +1027,7 @@ sal_uLong PictReader::ReadPixMapEtc( BitmapEx &rBitmap, bool bBaseAddr, bool bCo if (nWidth > nMaxCols) return 0xffffffff; - pBitmap.reset(new vcl::bitmap::RawBitmap( Size(nWidth, nHeight) )); + pBitmap.reset(new vcl::bitmap::RawBitmap( Size(nWidth, nHeight), 24 )); for (sal_uInt16 ny = 0; ny < nHeight; ++ny) { @@ -1050,7 +1050,7 @@ sal_uLong PictReader::ReadPixMapEtc( BitmapEx &rBitmap, bool bBaseAddr, bool bCo if (nWidth > nMaxCols) return 0xffffffff; - pBitmap.reset(new vcl::bitmap::RawBitmap( Size(nWidth, nHeight) )); + pBitmap.reset(new vcl::bitmap::RawBitmap( Size(nWidth, nHeight), 24 )); for (sal_uInt16 ny = 0; ny < nHeight; ++ny) { @@ -1072,7 +1072,7 @@ sal_uLong PictReader::ReadPixMapEtc( BitmapEx &rBitmap, bool bBaseAddr, bool bCo if (nHeight > pPict->remainingSize() / nByteCountSize) return 0xffffffff; - pBitmap.reset(new vcl::bitmap::RawBitmap( Size(nWidth, nHeight) )); + pBitmap.reset(new vcl::bitmap::RawBitmap( Size(nWidth, nHeight), 24 )); size_t nByteWidth = static_cast<size_t>(nWidth) * nCmpCount; std::vector<sal_uInt8> aScanline(nByteWidth); diff --git a/filter/source/graphicfilter/ipsd/ipsd.cxx b/filter/source/graphicfilter/ipsd/ipsd.cxx index 8510ee9b583e..b5b4a81d3bf2 100644 --- a/filter/source/graphicfilter/ipsd/ipsd.cxx +++ b/filter/source/graphicfilter/ipsd/ipsd.cxx @@ -115,7 +115,7 @@ bool PSDReader::ReadPSD(Graphic & rGraphic ) } Size aBitmapSize( mpFileHeader->nColumns, mpFileHeader->nRows ); - mpBitmap.reset( new vcl::bitmap::RawBitmap( aBitmapSize ) ); + mpBitmap.reset( new vcl::bitmap::RawBitmap( aBitmapSize, 24 ) ); if ( mpPalette && mbStatus ) { mvPalette.resize( 256 ); diff --git a/filter/source/graphicfilter/iras/iras.cxx b/filter/source/graphicfilter/iras/iras.cxx index d12e4f92ad82..1908afb6273c 100644 --- a/filter/source/graphicfilter/iras/iras.cxx +++ b/filter/source/graphicfilter/iras/iras.cxx @@ -173,7 +173,7 @@ bool RASReader::ReadRAS(Graphic & rGraphic) if (m_rRAS.remainingSize() * nMaxCompression < nBitSize / 8) return false; - vcl::bitmap::RawBitmap aBmp(Size(mnWidth, mnHeight)); + vcl::bitmap::RawBitmap aBmp(Size(mnWidth, mnHeight), 24); // read in the bitmap data mbStatus = ImplReadBody(aBmp, aPalette); diff --git a/filter/source/graphicfilter/itga/itga.cxx b/filter/source/graphicfilter/itga/itga.cxx index 28cfb8dd25b8..000237069556 100644 --- a/filter/source/graphicfilter/itga/itga.cxx +++ b/filter/source/graphicfilter/itga/itga.cxx @@ -146,7 +146,7 @@ bool TGAReader::ReadTGA(Graphic & rGraphic) if (nSize > SAL_MAX_INT32/2/3) return false; - mpBitmap.reset( new vcl::bitmap::RawBitmap( Size( mpFileHeader->nImageWidth, mpFileHeader->nImageHeight ) ) ); + mpBitmap.reset( new vcl::bitmap::RawBitmap( Size( mpFileHeader->nImageWidth, mpFileHeader->nImageHeight ), 24 ) ); if ( mbIndexing ) mbStatus = ImplReadPalette(); if ( mbStatus ) diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index 12e8cdb6b005..89404f1a986a 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -1109,7 +1109,7 @@ void ApplyRectangularGradientAsBitmap( const SvxMSDffManager& rManager, SvStream double fFocusX = rManager.GetPropertyValue( DFF_Prop_fillToRight, 0 ) / 65536.0; double fFocusY = rManager.GetPropertyValue( DFF_Prop_fillToBottom, 0 ) / 65536.0; - vcl::bitmap::RawBitmap aBitmap(aBitmapSizePixel); + vcl::bitmap::RawBitmap aBitmap(aBitmapSizePixel, 24); for ( long nY = 0; nY < aBitmapSizePixel.Height(); nY++ ) { @@ -1364,7 +1364,7 @@ void DffPropertyReader::ApplyFillAttributes( SvStream& rIn, SfxItemSet& rSet, co aCol2 = rManager.MSO_CLR_ToColor( GetPropertyValue( DFF_Prop_fillBackColor, 0 ), DFF_Prop_fillBackColor ); // Create a bitmap for the pattern with expected colors - vcl::bitmap::RawBitmap aResult(Size(8, 8)); + vcl::bitmap::RawBitmap aResult(Size(8, 8), 24); { Bitmap::ScopedReadAccess pRead(aBmp); |