Changeset 4271 for ImageMagick/trunk/coders/png.c
- Timestamp:
- 04/22/11 10:02:20 (2 years ago)
- File:
-
- 1 edited
-
ImageMagick/trunk/coders/png.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ImageMagick/trunk/coders/png.c
r4270 r4271 2020 2020 (int) mng_info->global_trns_length,NULL); 2021 2021 } 2022 #if defined(PNG_READ_bKGD_SUPPORTED)2022 #ifdef PNG_READ_bKGD_SUPPORTED 2023 2023 if ( 2024 2024 #ifndef PNG_READ_EMPTY_PLTE_SUPPORTED … … 2057 2057 } 2058 2058 2059 #if defined(PNG_READ_bKGD_SUPPORTED)2059 #ifdef PNG_READ_bKGD_SUPPORTED 2060 2060 if (mng_info->have_global_bkgd && 2061 2061 (!png_get_valid(ping,ping_info,PNG_INFO_bKGD))) … … 2064 2064 if (png_get_valid(ping,ping_info,PNG_INFO_bKGD)) 2065 2065 { 2066 unsigned int 2067 bkgd_scale; 2068 2066 2069 /* 2067 2070 Set image background color. … … 2071 2074 " Reading PNG bKGD chunk."); 2072 2075 2073 if (ping_bit_depth == MAGICKCORE_QUANTUM_DEPTH) 2074 { 2075 image->background_color.red=ping_background->red; 2076 image->background_color.green=ping_background->green; 2077 image->background_color.blue=ping_background->blue; 2078 } 2079 2080 else /* Scale background components to 16-bit */ 2081 { 2082 unsigned int 2083 bkgd_scale; 2084 2085 if (logging != MagickFalse) 2086 (void) LogMagickEvent(CoderEvent,GetMagickModule(), 2087 " raw ping_background=(%d,%d,%d).",ping_background->red, 2088 ping_background->green,ping_background->blue); 2089 2090 bkgd_scale = 1; 2091 2092 if (ping_bit_depth == 1) 2093 bkgd_scale = 255; 2094 2095 else if (ping_bit_depth == 2) 2096 bkgd_scale = 85; 2097 2098 else if (ping_bit_depth == 4) 2099 bkgd_scale = 17; 2100 2101 if (ping_bit_depth <= 8) 2102 bkgd_scale *= 257; 2103 2104 ping_background->red *= bkgd_scale; 2105 ping_background->green *= bkgd_scale; 2106 ping_background->blue *= bkgd_scale; 2107 2108 if (logging != MagickFalse) 2109 { 2076 /* Scale background components to 16-bit, then scale 2077 * to quantum depth 2078 */ 2079 if (logging != MagickFalse) 2080 (void) LogMagickEvent(CoderEvent,GetMagickModule(), 2081 " raw ping_background=(%d,%d,%d).",ping_background->red, 2082 ping_background->green,ping_background->blue); 2083 2084 bkgd_scale = 1; 2085 2086 if (ping_bit_depth == 1) 2087 bkgd_scale = 255; 2088 2089 else if (ping_bit_depth == 2) 2090 bkgd_scale = 85; 2091 2092 else if (ping_bit_depth == 4) 2093 bkgd_scale = 17; 2094 2095 if (ping_bit_depth <= 8) 2096 bkgd_scale *= 257; 2097 2098 ping_background->red *= bkgd_scale; 2099 ping_background->green *= bkgd_scale; 2100 ping_background->blue *= bkgd_scale; 2101 2102 if (logging != MagickFalse) 2103 { 2110 2104 (void) LogMagickEvent(CoderEvent,GetMagickModule(), 2111 2105 " bkgd_scale=%d.",bkgd_scale); … … 2114 2108 " ping_background=(%d,%d,%d).",ping_background->red, 2115 2109 ping_background->green,ping_background->blue); 2116 }2117 2118 image->background_color.red=2110 } 2111 2112 image->background_color.red= 2119 2113 ScaleShortToQuantum(ping_background->red); 2120 2114 2121 image->background_color.green=2115 image->background_color.green= 2122 2116 ScaleShortToQuantum(ping_background->green); 2123 2117 2124 image->background_color.blue= 2125 ScaleShortToQuantum(ping_background->blue); 2126 2127 image->background_color.opacity=OpaqueOpacity; 2128 2129 if (logging != MagickFalse) 2130 (void) LogMagickEvent(CoderEvent,GetMagickModule(), 2131 " image->background_color=(%.20g,%.20g,%.20g).", 2132 (double) image->background_color.red, 2133 (double) image->background_color.green, 2134 (double) image->background_color.blue); 2135 } 2136 } 2137 #endif 2118 image->background_color.blue= 2119 ScaleShortToQuantum(ping_background->blue); 2120 2121 image->background_color.opacity=OpaqueOpacity; 2122 2123 if (logging != MagickFalse) 2124 (void) LogMagickEvent(CoderEvent,GetMagickModule(), 2125 " image->background_color=(%.20g,%.20g,%.20g).", 2126 (double) image->background_color.red, 2127 (double) image->background_color.green, 2128 (double) image->background_color.blue); 2129 } 2130 #endif /* PNG_READ_bKGD_SUPPORTED */ 2138 2131 2139 2132 if (png_get_valid(ping,ping_info,PNG_INFO_tRNS))
Note: See TracChangeset
for help on using the changeset viewer.
