mirror of
				https://git.code.sf.net/p/libpng/code.git
				synced 2025-07-10 18:04:09 +02:00 
			
		
		
		
	[devel] Minor revision of commentary about png_set_alpha_mode().
This commit is contained in:
		
							parent
							
								
									44e26d4149
								
							
						
					
					
						commit
						d768d103cf
					
				
							
								
								
									
										2
									
								
								ANNOUNCE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								ANNOUNCE
									
									
									
									
									
								
							| @ -102,7 +102,7 @@ Version 1.5.3beta06 [May 8, 2011] | ||||
|   Implemented premultiplied alpha support: png_set_alpha_mode API | ||||
| 
 | ||||
| Version 1.5.3beta07 [May 9, 2011] | ||||
|   Added expand_16 suppport to the high level interface. | ||||
|   Added expand_16 support to the high level interface. | ||||
| 
 | ||||
| Send comments/corrections/commendations to png-mng-implement at lists.sf.net: | ||||
| (subscription required; visit | ||||
|  | ||||
							
								
								
									
										2
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								CHANGES
									
									
									
									
									
								
							| @ -3361,7 +3361,7 @@ Version 1.5.3beta06 [May 8, 2011] | ||||
|   Implemented premultiplied alpha support: png_set_alpha_mode API | ||||
| 
 | ||||
| Version 1.5.3beta07 [May 9, 2011] | ||||
|   Added expand_16 suppport to the high level interface. | ||||
|   Added expand_16 support to the high level interface. | ||||
| 
 | ||||
| Send comments/corrections/commendations to png-mng-implement at lists.sf.net | ||||
| (subscription required; visit | ||||
|  | ||||
							
								
								
									
										18
									
								
								png.h
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								png.h
									
									
									
									
									
								
							| @ -1084,7 +1084,7 @@ PNG_EXPORT(29, void, png_set_tRNS_to_alpha, (png_structp png_ptr)); | ||||
| #endif | ||||
| 
 | ||||
| #ifdef PNG_READ_EXPAND_16_SUPPORTED | ||||
| /* Expand to 16 bit channels, forces conversion of palette to RGB and expansion
 | ||||
| /* Expand to 16-bit channels, forces conversion of palette to RGB and expansion
 | ||||
|  * of a tRNS chunk if present. | ||||
|  */ | ||||
| PNG_EXPORT(221, void, png_set_expand_16, (png_structp png_ptr)); | ||||
| @ -1136,11 +1136,11 @@ PNG_EXPORT(35, void, png_build_grayscale_palette, (int bit_depth, | ||||
|  * storing color channel values that have been scaled by the alpha.  The | ||||
|  * advantage is that the color channels can be resampled (the image can be | ||||
|  * scaled) in this form.  The disadvantage is that normal practice is to store | ||||
|  * linear, not (gamma) encoded, values and this requires 16 bit channels for | ||||
|  * still images rather than the 8 bit channels that are just about sufficient if | ||||
|  * linear, not (gamma) encoded, values and this requires 16-bit channels for | ||||
|  * still images rather than the 8-bit channels that are just about sufficient if | ||||
|  * gamma encoding is used.  In addition all non-transparent pixel values, | ||||
|  * including completely opaque ones, must be gamma encoded to produce the final | ||||
|  * image.  This is the 'STANDARD', 'ASSOCIATED' or 'PREMULTIPLIED' format (the | ||||
|  * image.  This is the 'STANDARD', 'ASSOCIATED' or 'PREMULTIPLIED' mode (the | ||||
|  * latter being the two common names for associated alpha color channels.) | ||||
|  * | ||||
|  * Since it is not necessary to perform arithmetic on opaque color values so | ||||
| @ -1149,10 +1149,10 @@ PNG_EXPORT(35, void, png_build_grayscale_palette, (int bit_depth, | ||||
|  * the PNG format (adjusted for the output color space) while storing partially | ||||
|  * opaque pixels in the standard, linear, format.  The accuracy required for | ||||
|  * standard alpha composition is relatively low, because the pixels are | ||||
|  * isolated, therefore typically the accuracy loss in storing 8 bit linear | ||||
|  * isolated, therefore typically the accuracy loss in storing 8-bit linear | ||||
|  * values is acceptable.  (This is not true if the alpha channel is used to | ||||
|  * simulate transparency over large areas - use 16 bits or the PNG format in | ||||
|  * this case!)  This is the 'OPTIMIZED' format.  For this format a pixel is | ||||
|  * simulate transparency over large areas - use 16 bits or the PNG mode in | ||||
|  * this case!)  This is the 'OPTIMIZED' mode.  For this mode a pixel is | ||||
|  * treated as opaque only if the alpha value is equal to the maximum value. | ||||
|  * | ||||
|  * The final choice is to gamma encode the alpha channel as well.  This is | ||||
| @ -1163,7 +1163,7 @@ PNG_EXPORT(35, void, png_build_grayscale_palette, (int bit_depth, | ||||
|  * opaque areas of the composited PNG image because of arithmetic overflow. | ||||
|  * | ||||
|  * The API function png_set_alpha_mode specifies which of these choices to use | ||||
|  * with a enumerated 'mode' value and the gamma of the required output: | ||||
|  * with an enumerated 'mode' value and the gamma of the required output: | ||||
|  */ | ||||
| #define PNG_ALPHA_PNG           0 /* according to the PNG standard */ | ||||
| #define PNG_ALPHA_STANDARD      1 /* according to Porter/Duff */ | ||||
| @ -1277,7 +1277,7 @@ PNG_FIXED_EXPORT(228, void, png_set_alpha_mode_fixed, (png_structp png_ptr, | ||||
|  *    setting.  In this case you just copy completely opaque pixels to the | ||||
|  *    output.  For pixels that are not completely transparent (you just skip | ||||
|  *    those) you do the composition math using png_composite or png_composite_16 | ||||
|  *    below then encode the resultant 8 or 16 bit values to match the output | ||||
|  *    below then encode the resultant 8-bit or 16-bit values to match the output | ||||
|  *    encoding. | ||||
|  * | ||||
|  * Other cases | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Glenn Randers-Pehrson
						Glenn Randers-Pehrson