File tree Expand file tree Collapse file tree 2 files changed +6
-13
lines changed Expand file tree Collapse file tree 2 files changed +6
-13
lines changed Original file line number Diff line number Diff line change @@ -164,21 +164,16 @@ internal void ExtractImage(ImageInfo info) {
164164 var fileName = GetNewImageFileName ( ) ;
165165 if ( info . ExtName == Constants . FileExtensions . Png
166166 || info . ExtName == Constants . FileExtensions . Tif
167- //|| info.MaskBytes != null
168167 ) {
169168 SaveBitmap ( info , bytes , fileName ) ;
170169 }
171170 else {
172171 SaveImageBytes ( info , bytes , fileName ) ;
173172 }
174- if ( info . MaskBytes != null ) {
175- using ( var m = new FreeImageBitmap (
176- info . MaskSize . Width , info . MaskSize . Height ,
177- ( info . MaskSize . Width + 7 ) / 8 , PixelFormat . Format1bppIndexed ,
178- info . MaskBytes ) ) {
179- //var r = bmp.Composite (false, null, m);
173+ if ( info . Mask != null ) {
174+ using ( var m = info . Mask ) {
180175 m . Palette . CreateGrayscalePalette ( ) ;
181- m . Save ( fileName + " [mask]" + Constants . FileExtensions . Tif ) ;
176+ m . Save ( $ " { fileName } [mask]{ ( info . Mask . PixelFormat == PixelFormat . Format1bppIndexed ? Constants . FileExtensions . Tif : Constants . FileExtensions . Png ) } " ) ;
182177 }
183178 }
184179 _totalImageCount ++ ;
Original file line number Diff line number Diff line change @@ -26,8 +26,7 @@ internal sealed class ImageInfo
2626 public PdfName PaletteColorSpace { get ; private set ; }
2727 public byte [ ] PaletteBytes { get ; private set ; }
2828 public byte [ ] ICCProfile { get ; private set ; }
29- public Size MaskSize { get ; private set ; }
30- public byte [ ] MaskBytes { get ; private set ; }
29+ public FreeImageBitmap Mask { get ; private set ; }
3130 public int PaletteEntryCount { get ; private set ; }
3231 public RGBQUAD [ ] PaletteArray { get ; private set ; }
3332 public PdfImageData InlineImage { get ; private set ; }
@@ -200,9 +199,8 @@ private static byte[] DecodeImage(ImageInfo info, ImageExtracterOptions options)
200199 ) {
201200 var mi = new ImageInfo ( sm ) ;
202201 var mask = DecodeImage ( mi , new ImageExtracterOptions ( ) { InvertBlackAndWhiteImages = ! options . InvertSoftMask } ) ;
203- if ( mask != null && mi . BitsPerComponent == 1 ) {
204- info . MaskBytes = mask ;
205- info . MaskSize = new Size ( mi . Width , mi . Height ) ;
202+ if ( mask != null ) {
203+ info . Mask = ImageExtractor . CreateFreeImageBitmap ( mi , ref mask , options . VerticalFlipImages , false ) ;
206204 }
207205 }
208206 return decodedBytes ;
You can’t perform that action at this time.
0 commit comments