jmpbuf) #endif #define PNG_BYTES_TO_CHECK 4 #include  #include "../mga_view.h" #ifdef USE_LIBPNG #incl....">

当前位置:  技术问答>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

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php实现socket实现客户端和服务端数据通信源代码
  • linux源代码的时间函数源代码
  • RedHat Linux是开放源代码的吗?如何能看见它的源代码,如何进行修改?
  • 源代码!源代码!
  • 如果要研究源代码以提高自己,哪一个开放源代码的软件比较合适?
  • 寻找<<java2图形设计卷2SWING>>一书源代码和<<java网络高级编程>>一书源代码
  • 请问一些shell命令的源代码,比如cp 的源代码存放在什么目录中?
  • 高分请教!Netscape浏览器的源代码公开了吗?从那里可以得到For linux的源代码?
  • 谁有最早版本的LINUX源代码?能发给我一份吗?高分求救啊……我真的很需要最早的一些版本的源代码的!
  • 谁能告诉我早期LINUX内核的源代码和C编译器的源代码,哪能找到!谢谢!要多少分都给!
  • 谁有Java源代码中floatToIntBits,intBitsToFloat的源代码?
  • 我想查看fputs(),fread(),fwrite(),fclose()函数的源代码,请问这部分的源代码在哪个RPM包里。
  • Linux源代码中ata驱动为什么要调用pci驱动的代码
  • 怎样用script实现某段html随滚动条滚动的效果?最好能给源代码?或者给出能看到源代码的链接也可以
  • 请问高手:Ctrl+Alt+F1~F8可以切换虚拟终端,这个代码是在哪儿实现的?我搞不懂,最好指点源代码大概位置。
  • 高分请教:redhat 的各种应用程序源代码放在哪儿?
  • 为什么比较freebsd和linux的源代码,觉得linux的代码十分的庞大。。
  • 请教如何查看gFTP的源代码?
  • 在哪里可以看到Linux的源代码???
  • 关于源代码的问题
  • 怎么得到KDE的源代码???


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3