当前位置:  技术问答>linux和unix

一个关于ICX文件后缀名的问题?

    来源: 互联网  发布时间:2016-08-27

    本文导语:  本帖最后由 chongdede 于 2010-05-16 10:51:16 编辑   阅读ghostscript 原代码时,发现ghostscript的控制台程序有ICON,   仔细查找,发现ICON文件还是用程序生成的.在下面的页面中可以看出ICON的生成方法   http://www.sfr-fresh.com/unix/mi...

本帖最后由 chongdede 于 2010-05-16 10:51:16 编辑
  阅读ghostscript 原代码时,发现ghostscript的控制台程序有ICON,
  仔细查找,发现ICON文件还是用程序生成的.在下面的页面中可以看出ICON的生成方法

  http://www.sfr-fresh.com/unix/misc/ghost/AFPL/gs854/gs854src.zip:a/gs8.54/src/winint.mak
 
下面是部分页面内容

   73 # ----------------------------- Main program ------------------------------ #
   74 
   75 ICONS=$(GLGEN)gswin.ico $(GLGEN)gswin16.ico
   76 
   77 GS_ALL=$(INT_ALL) $(INTASM)
   78   $(LIB_ALL) $(LIBCTR) $(ld_tr) $(GSDLL_OBJ).res $(PSSRC)$(GSDLL).def $(ICONS)
   79 
   80 dwdll_h=$(PSSRC)dwdll.h
   81 dwimg_h=$(GLSRC)dwimg.h
   82 dwtrace_h=$(GLSRC)dwtrace.h
   83 dwmain_h=$(PSSRC)dwmain.h
   84 dwtext_h=$(GLSRC)dwtext.h
   85 dwreg_h=$(GLSRC)dwreg.h
   86 
   87 # Make the icons from their text form.
   88 
   89 $(GLGEN)gswin.ico: $(GLSRC)gswin.icx $(ECHOGS_XE) $(WININT_MAK)
   90  $(ECHOGS_XE) -wb $(GLGEN)gswin.ico -n -X -r $(GLSRC)gswin.icx
   91 
   92 $(GLGEN)gswin16.ico: $(GLSRC)gswin16.icx $(ECHOGS_XE) $(WININT_MAK)
   93  $(ECHOGS_XE) -wb $(GLGEN)gswin16.ico -n -X -r $(GLSRC)gswin16.icx

可以看出 gswin.ico 和 gswin16.ico 是用程序$(ECHOGS_XE) 生成的,在调用该程序时传入对应的icx文件.

我的问题是ICX是什么文件,我如何用ICON文件生成ICX文件.


|
Make the icons from their text form

告诉你 ICON文件采用ASICC码保存,没有使用二进制文件 ,因此需要转换.

ICON文件生成ICX文件,使用二进制到文本文件转换就可以.
代码如下:
#include   "stdio.h"   
  #include   "stdlib.h"   
  #include   "conio.h"   
    
  int   main(int   argc,   char*   argv[])   
  {   
  FILE   *fp1,*fp2;   
  unsigned   char   date;   
  char   txt[4]={0};   
  char   name1[80];   
  char   name2[80];   
  unsigned   long   int   count=0;   
  printf("请输入源文件名:");   
  gets(name1);   
  if   ((fp1=fopen(name1,"rb"))==NULL)   
  {   
  printf("n失败!不能打开源文件!按任意键退出……");   
  getch();   
  exit(1);   
  }   
    
  printf("n请输入目标文件名:");   
  gets(name2);   
    
  if   ((fp2=fopen(name2,"w"))==NULL)   
  {   
  printf("n失败!不能打开目标文件!按任意键退出……");   
  fclose(fp1);   
  getch();   
  exit(1);   
  }   
  fread(&date,1,1,fp1);   
  while(!feof(fp1))   
  {   
  count++;   
  itoa(int(date),txt,16);   
  fputs("0x",fp2);   
  fputs(txt,fp2);   
  putc(',',fp2);   
  if(!(count%10))   
  fputs("\n",fp2);   
  fread(&date,1,1,fp1);   
  }   
  fclose(fp1);   
  fclose(fp2);   
  printf("n转换完毕,按任意键退出……");   
  getch();   
  return   0;   
  }   
  

    
 
 

您可能感兴趣的文章:

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












  • 相关文章推荐


  • 站内导航:


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

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

    浙ICP备11055608号-3