@@ -2057,6 +2057,8 @@ pdfioFileCreateImageObjFromFile(
2057
2057
_pdfio_image_func_t copy_func = NULL ; // Image copy function
2058
2058
2059
2059
2060
+ PDFIO_DEBUG ("pdfioFileCreateImageObjFromFile(pdf=%p, filename=\"%s\", interpolate=%s)\n" , (void * )pdf , filename , interpolate ? "true" : "false" );
2061
+
2060
2062
// Range check input...
2061
2063
if (!pdf || !filename )
2062
2064
return (NULL );
@@ -2078,6 +2080,8 @@ pdfioFileCreateImageObjFromFile(
2078
2080
2079
2081
lseek (fd , 0 , SEEK_SET );
2080
2082
2083
+ PDFIO_DEBUG ("pdfioFileCreateImageObjFromFile: buffer=<%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X>\n" , buffer [0 ], buffer [1 ], buffer [2 ], buffer [3 ], buffer [4 ], buffer [5 ], buffer [6 ], buffer [7 ], buffer [8 ], buffer [9 ], buffer [10 ], buffer [11 ], buffer [12 ], buffer [13 ], buffer [14 ], buffer [15 ], buffer [16 ], buffer [17 ], buffer [18 ], buffer [19 ], buffer [20 ], buffer [21 ], buffer [22 ], buffer [23 ], buffer [24 ], buffer [25 ], buffer [26 ], buffer [27 ], buffer [28 ], buffer [29 ], buffer [30 ], buffer [31 ]);
2084
+
2081
2085
if (!memcmp (buffer , "\211PNG\015\012\032\012\000\000\000\015IHDR" , 16 ))
2082
2086
{
2083
2087
// PNG image...
@@ -2494,6 +2498,8 @@ copy_png(pdfio_dict_t *dict, // I - Dictionary
2494
2498
bool alpha ; // Alpha transparency?
2495
2499
2496
2500
2501
+ PDFIO_DEBUG ("copy_png(dict=%p, fd=%d)\n" , (void * )dict , fd );
2502
+
2497
2503
// Allocate memory for PNG reader structures...
2498
2504
if ((pp = png_create_read_struct (PNG_LIBPNG_VER_STRING , (png_voidp )dict -> pdf , png_error_func , png_error_func )) == NULL )
2499
2505
{
@@ -2507,10 +2513,13 @@ copy_png(pdfio_dict_t *dict, // I - Dictionary
2507
2513
goto finish_png ;
2508
2514
}
2509
2515
2516
+ PDFIO_DEBUG ("copy_png: pp=%p, info=%p\n" , (void * )pp , (void * )info );
2517
+
2510
2518
if (setjmp (png_jmpbuf (pp )))
2511
2519
{
2512
2520
// If we get here, PNG loading failed and any errors/warnings were logged
2513
2521
// via the corresponding callback functions...
2522
+ fputs ("copy_png: setjmp error handler called.\n" , stderr );
2514
2523
goto finish_png ;
2515
2524
}
2516
2525
@@ -2537,6 +2546,8 @@ copy_png(pdfio_dict_t *dict, // I - Dictionary
2537
2546
else
2538
2547
num_colors = 1 ;
2539
2548
2549
+ PDFIO_DEBUG ("copy_png: width=%u, height=%u, color_type=%u, num_colors=%d\n" , width , height , color_type , num_colors );
2550
+
2540
2551
// Set decoding options...
2541
2552
if (png_get_valid (pp , info , PNG_INFO_tRNS ))
2542
2553
{
@@ -2591,6 +2602,11 @@ copy_png(pdfio_dict_t *dict, // I - Dictionary
2591
2602
for (i = png_set_interlace_handling (pp ); i > 0 ; i -- )
2592
2603
png_read_rows (pp , rows , NULL , (png_uint_32 )height );
2593
2604
2605
+ // Add image dictionary information...
2606
+ pdfioDictSetNumber (dict , "Width" , width );
2607
+ pdfioDictSetNumber (dict , "Height" , height );
2608
+ pdfioDictSetNumber (dict , "BitsPerComponent" , 8 );
2609
+
2594
2610
// Grab any color space/palette information...
2595
2611
pdfioDictSetArray (dict , "ColorSpace" , pdfioArrayCreateColorFromStandard (dict -> pdf , num_colors , PDFIO_CS_SRGB ));
2596
2612
@@ -3475,6 +3491,8 @@ png_read_func(png_structp pp, // I - PNG pointer
3475
3491
ssize_t bytes ; // Bytes read
3476
3492
3477
3493
3494
+ PDFIO_DEBUG ("png_read_func(pp=%p, data=%p, length=%lu)\n" , (void * )pp , (void * )data , (unsigned long )length );
3495
+
3478
3496
if ((bytes = read (* fd , data , length )) < (ssize_t )length )
3479
3497
png_error (pp , "Unable to read from PNG file." );
3480
3498
}
0 commit comments