当前位置: 技术问答>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...
仔细查找,发现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;
}
告诉你 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.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。