📄 png.h
字号:
#endif
#if defined(PNG_WRITE_tIME_SUPPORTED)
extern void png_write_tIME PNGARG((png_structp png_ptr, png_timep mod_time));
#endif
/* Internal use only. Called when finished processing a row of data */
extern void png_write_finish_row PNGARG((png_structp png_ptr));
/* Internal use only. Called before first row of data */
extern void png_write_start_row PNGARG((png_structp png_ptr));
/* callbacks for png chunks */
extern void png_read_IHDR PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 width, png_uint_32 height, int bit_depth,
int color_type, int compression_type, int filter_type,
int interlace_type));
extern void png_read_PLTE PNGARG((png_structp png_ptr, png_infop info,
png_colorp palette, int num));
#if defined(PNG_READ_gAMA_SUPPORTED)
extern void png_read_gAMA PNGARG((png_structp png_ptr, png_infop info,
double gamma));
#endif
#if defined(PNG_READ_sBIT_SUPPORTED)
extern void png_read_sBIT PNGARG((png_structp png_ptr, png_infop info,
png_color_8p sig_bit));
#endif
#if defined(PNG_READ_cHRM_SUPPORTED)
extern void png_read_cHRM PNGARG((png_structp png_ptr, png_infop info,
double white_x, double white_y, double red_x, double red_y,
double green_x, double green_y, double blue_x, double blue_y));
#endif
#if defined(PNG_READ_tRNS_SUPPORTED)
extern void png_read_tRNS PNGARG((png_structp png_ptr, png_infop info,
png_bytep trans, int num_trans, png_color_16p trans_values));
#endif
#if defined(PNG_READ_bKGD_SUPPORTED)
extern void png_read_bKGD PNGARG((png_structp png_ptr, png_infop info,
png_color_16p background));
#endif
#if defined(PNG_READ_hIST_SUPPORTED)
extern void png_read_hIST PNGARG((png_structp png_ptr, png_infop info,
png_uint_16p hist));
#endif
#if defined(PNG_READ_pHYs_SUPPORTED)
extern void png_read_pHYs PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 res_x, png_uint_32 res_y, int unit_type));
#endif
#if defined(PNG_READ_oFFs_SUPPORTED)
extern void png_read_oFFs PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 offset_x, png_uint_32 offset_y, int unit_type));
#endif
#if defined(PNG_READ_tIME_SUPPORTED)
extern void png_read_tIME PNGARG((png_structp png_ptr, png_infop info,
png_timep mod_time));
#endif
#if defined(PNG_READ_tEXt_SUPPORTED)
extern void png_read_tEXt PNGARG((png_structp png_ptr, png_infop info,
png_charp key, png_charp text, png_uint_32 text_len));
#endif
#if defined(PNG_READ_zTXt_SUPPORTED)
extern void png_read_zTXt PNGARG((png_structp png_ptr, png_infop info,
png_charp key, png_charp text, png_uint_32 text_len, int compression));
#endif
#if defined(PNG_READ_GAMMA_SUPPORTED)
void
png_build_gamma_table PNGARG((png_structp png_ptr));
#endif
/* combine a row of data, dealing with alpha, etc. if requested */
extern void png_combine_row PNGARG((png_structp png_ptr, png_bytep row,
int mask));
#if defined(PNG_READ_INTERLACING_SUPPORTED)
/* expand an interlaced row */
extern void png_do_read_interlace PNGARG((png_row_infop row_info,
png_bytep row, int pass));
#endif
#if defined(PNG_WRITE_INTERLACING_SUPPORTED)
/* grab pixels out of a row for an interlaced pass */
extern void png_do_write_interlace PNGARG((png_row_infop row_info,
png_bytep row, int pass));
#endif
/* unfilter a row */
extern void png_read_filter_row PNGARG((png_structp png_ptr,
png_row_infop row_info, png_bytep row, png_bytep prev_row, int filter));
/* choose the best filter to use and filter the row data */
extern void png_write_find_filter PNGARG((png_structp png_ptr,
png_row_infop row_info));
/* write out the filtered row */
extern void png_write_filtered_row PNGARG((png_structp png_ptr,
png_bytep filtered_row));
/* finish a row while reading, dealing with interlacing passes, etc. */
extern void png_read_finish_row PNGARG((png_structp png_ptr));
/* initialize the row buffers, etc. */
extern void png_read_start_row PNGARG((png_structp png_ptr));
/* optional call to update the users info structure */
extern void png_read_transform_info PNGARG((png_structp png_ptr,
png_infop info_ptr));
/* these are the functions that do the transformations */
#if defined(PNG_READ_FILLER_SUPPORTED)
extern void png_do_read_filler PNGARG((png_row_infop row_info,
png_bytep row, png_byte filler, png_byte filler_loc));
#endif
#if defined(PNG_WRITE_FILLER_SUPPORTED)
extern void png_do_write_filler PNGARG((png_row_infop row_info,
png_bytep row, png_byte filler_loc));
#endif
#if defined(PNG_READ_SWAP_SUPPORTED) || defined(PNG_WRITE_SWAP_SUPPORTED)
extern void png_do_swap PNGARG((png_row_infop row_info, png_bytep row));
#endif
#if defined(PNG_READ_PACK_SUPPORTED)
extern void png_do_unpack PNGARG((png_row_infop row_info, png_bytep row));
#endif
#if defined(PNG_READ_SHIFT_SUPPORTED)
extern void png_do_unshift PNGARG((png_row_infop row_info, png_bytep row,
png_color_8p sig_bits));
#endif
#if defined(PNG_READ_INVERT_SUPPORTED) || defined(PNG_WRITE_INVERT_SUPPORTED)
extern void png_do_invert PNGARG((png_row_infop row_info, png_bytep row));
#endif
extern void png_build_grayscale_palette PNGARG((int bit_depth,
png_colorp palette));
#if defined(PNG_READ_GRAY_TO_RGB_SUPPORTED)
extern void png_do_gray_to_rgb PNGARG((png_row_infop row_info,
png_bytep row));
#endif
#if defined(PNG_READ_16_TO_8_SUPPORTED)
extern void png_do_chop PNGARG((png_row_infop row_info, png_bytep row));
#endif
#if defined(PNG_READ_DITHER_SUPPORTED)
extern void png_do_dither PNGARG((png_row_infop row_info,
png_bytep row, png_bytep palette_lookup, png_bytep dither_lookup));
#endif
#if defined(PNG_CORRECT_PALETTE_SUPPORTED)
extern void png_correct_palette PNGARG((png_structp png_ptr,
png_colorp palette, int num_palette));
#endif
#if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED)
extern void png_do_bgr PNGARG((png_row_infop row_info, png_bytep row));
#endif
#if defined(PNG_WRITE_PACK_SUPPORTED)
extern void png_do_pack PNGARG((png_row_infop row_info,
png_bytep row, png_byte bit_depth));
#endif
#if defined(PNG_WRITE_SHIFT_SUPPORTED)
extern void png_do_shift PNGARG((png_row_infop row_info, png_bytep row,
png_color_8p bit_depth));
#endif
#if defined(PNG_READ_BACKGROUND_SUPPORTED)
extern void png_do_background PNGARG((png_row_infop row_info, png_bytep row,
png_color_16p trans_values, png_color_16p background,
png_color_16p background_1,
png_bytep gamma_table, png_bytep gamma_from_1, png_bytep gamma_to_1,
png_uint_16pp gamma_16, png_uint_16pp gamma_16_from_1,
png_uint_16pp gamma_16_to_1, int gamma_shift));
#endif
#if defined(PNG_READ_GAMMA_SUPPORTED)
extern void png_do_gamma PNGARG((png_row_infop row_info, png_bytep row,
png_bytep gamma_table, png_uint_16pp gamma_16_table,
int gamma_shift));
#endif
#if defined(PNG_READ_EXPAND_SUPPORTED)
extern void png_do_expand_palette PNGARG((png_row_infop row_info,
png_bytep row, png_colorp palette, png_bytep trans, int num_trans));
extern void png_do_expand PNGARG((png_row_infop row_info,
png_bytep row, png_color_16p trans_value));
#endif
/* unpack 16 and 32 bit values from a string */
extern png_uint_32 png_get_uint_32 PNGARG((png_bytep buf));
extern png_uint_16 png_get_uint_16 PNGARG((png_bytep buf));
/* read bytes into buf, and update png_ptr->crc */
extern void png_crc_read PNGARG((png_structp png_ptr, png_bytep buf,
png_uint_32 length));
/* skip length bytes, and update png_ptr->crc */
extern void png_crc_skip PNGARG((png_structp png_ptr, png_uint_32 length));
/* the following decodes the appropriate chunks, and does error correction,
then calls the appropriate callback for the chunk if it is valid */
/* decode the IHDR chunk */
extern void png_handle_IHDR PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
extern void png_handle_PLTE PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
#if defined(PNG_READ_gAMA_SUPPORTED)
extern void png_handle_gAMA PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
#endif
#if defined(PNG_READ_sBIT_SUPPORTED)
extern void png_handle_sBIT PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
#endif
#if defined(PNG_READ_cHRM_SUPPORTED)
extern void png_handle_cHRM PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
#endif
#if defined(PNG_READ_tRNS_SUPPORTED)
extern void png_handle_tRNS PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
#endif
#if defined(PNG_READ_bKGD_SUPPORTED)
extern void png_handle_bKGD PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
#endif
#if defined(PNG_READ_hIST_SUPPORTED)
extern void png_handle_hIST PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
#endif
#if defined(PNG_READ_pHYs_SUPPORTED)
extern void png_handle_pHYs PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
#endif
#if defined(PNG_READ_oFFs_SUPPORTED)
extern void png_handle_oFFs PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
#endif
#if defined(PNG_READ_tIME_SUPPORTED)
extern void png_handle_tIME PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
#endif
#if defined(PNG_READ_tEXt_SUPPORTED)
extern void png_handle_tEXt PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
#endif
#if defined(PNG_READ_zTXt_SUPPORTED)
extern void png_handle_zTXt PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
#endif
/* handle the transformations for reading and writing */
extern void png_do_read_transformations PNGARG((png_structp png_ptr));
extern void png_do_write_transformations PNGARG((png_structp png_ptr));
extern void png_init_read_transformations PNGARG((png_structp png_ptr));
#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
extern void png_push_read_chunk PNGARG((png_structp png_ptr, png_infop info));
extern void png_push_read_sig PNGARG((png_structp png_ptr));
extern void png_push_check_crc PNGARG((png_structp png_ptr));
extern void png_push_crc_skip PNGARG((png_structp png_ptr, png_uint_32 length));
extern void png_push_skip PNGARG((png_structp png_ptr));
extern void png_push_fill_buffer PNGARG((png_structp png_ptr, png_bytep buffer,
png_uint_32 length));
extern void png_push_save_buffer PNGARG((png_structp png_ptr));
extern void png_push_restore_buffer PNGARG((png_structp png_ptr, png_bytep buffer,
png_uint_32 buffer_length));
extern void png_push_read_IDAT PNGARG((png_structp png_ptr));
extern void png_process_IDAT_data PNGARG((png_structp png_ptr,
png_bytep buffer, png_uint_32 buffer_length));
extern void png_push_process_row PNGARG((png_structp png_ptr));
extern void png_push_handle_PLTE PNGARG((png_structp png_ptr,
png_uint_32 length));
extern void png_push_read_PLTE PNGARG((png_structp png_ptr, png_infop info));
extern void png_push_handle_tRNS PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
extern void png_push_handle_hIST PNGARG((png_structp png_ptr, png_infop info,
png_uint_32 length));
extern void png_push_have_info PNGARG((png_structp png_ptr, png_infop info));
extern void png_push_have_end PNGARG((png_structp png_ptr, png_infop info));
extern void png_push_have_row PNGARG((png_structp png_ptr, png_bytep row));
extern void png_push_read_end PNGARG((png_structp png_ptr, png_infop info));
extern void png_process_some_data PNGARG((png_structp png_ptr,
png_infop info));
extern void png_read_push_finish_row PNGARG((png_structp png_ptr));
#if defined(PNG_READ_tEXt_SUPPORTED)
extern void png_push_handle_tEXt PNGARG((png_structp png_ptr,
png_uint_32 length));
extern void png_push_read_tEXt PNGARG((png_structp png_ptr, png_infop info));
#endif
#if defined(PNG_READ_zTXt_SUPPORTED)
extern void png_push_handle_zTXt PNGARG((png_structp png_ptr,
png_uint_32 length));
extern void png_push_read_zTXt PNGARG((png_structp png_ptr, png_infop info));
#endif
#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
#endif /* PNG_INTERNAL */
#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
extern void png_process_data PNGARG((png_structp png_ptr, png_infop info,
png_bytep buffer, png_uint_32 buffer_size));
extern void png_set_progressive_read_fn PNGARG((png_structp png_ptr,
png_voidp progressive_ptr,
png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn,
png_progressive_end_ptr end_fn));
extern void png_progressive_combine_row PNGARG((png_structp png_ptr,
png_bytep old_row, png_bytep new_row));
#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
/* do not put anything past this line */
#endif /* _PNG_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -