当前位置: 技术问答>linux和unix
请各位帮我在这个源代码中添加中文注释
来源: 互联网 发布时间:2016-12-10
本文导语: 如题,源码在下面: #define VERPNG " unit v0.0.4" #ifndef png_jmpbuf # define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf) #endif #define PNG_BYTES_TO_CHECK 4 #include #include "../mga_view.h" #ifdef USE_LIBPNG #include #endif void help_png() { /*********** ...
如题,源码在下面:
#define VERPNG " unit v0.0.4"
#ifndef png_jmpbuf
# define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
#endif
#define PNG_BYTES_TO_CHECK 4
#include
#include "../mga_view.h"
#ifdef USE_LIBPNG
#include
#endif
void help_png()
{
/***********
#ifdef USE_LIBPNG
printf("PNG%sn + uses libpngn",VERPNG);
#endif
***********/
}
int detect_png()/*检测png*/
{
#ifdef USE_LIBPNG
png_bytep row_pointers[4000];
int row;
char buf[PNG_BYTES_TO_CHECK];
png_structp png_ptr;
png_infop info_ptr;
png_uint_32 width,height;
int bit_depth,color_type,interlace_type;
fread(buf,1,PNG_BYTES_TO_CHECK,plik);
tempi=png_sig_cmp(buf,(png_size_t)0,PNG_BYTES_TO_CHECK);
if (tempi!=0) return 1;
rewind(plik);
png_ptr=png_create_read_struct(PNG_LIBPNG_VER_STRING,
NULL,NULL,NULL);
if (png_ptr==NULL) return 2;
info_ptr=png_create_info_struct(png_ptr);
if (info_ptr==NULL){
png_destroy_read_struct(&png_ptr,(png_infopp)NULL,(png_infopp)NULL);
return 2;
}
if (setjmp(png_jmpbuf(png_ptr))){
png_destroy_read_struct(&png_ptr,&info_ptr,(png_infopp)NULL);
return 2;
}
png_init_io(png_ptr,plik);
png_read_info(png_ptr,info_ptr);
png_get_IHDR(png_ptr,info_ptr,&width,&height,&bit_depth,&color_type,&interlace_type,NULL,NULL);
image_x=width;/*image_x是全局变量,表示图片的宽度*/
image_y=height;/*image_y是全局变量,表示图片的高度*/
depth=bit_depth;/*depth也是全局变量,表示图片的位深*/
tempi=png_get_channels(png_ptr,info_ptr);
check_image(image_x,image_y,depth);
/********
printf("Png%sn",VERPNG);
printf("Png detected : %ix%ix%i ch %in",image_x,image_y,depth,tempi);
***********/
if (color_type==PNG_COLOR_TYPE_GRAY || color_type==PNG_COLOR_TYPE_GRAY_ALPHA)
png_set_gray_to_rgb(png_ptr);
png_set_expand(png_ptr);
png_read_update_info(png_ptr,info_ptr);
tempi=png_get_channels(png_ptr,info_ptr);
for (row=0;row