Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
il_header.c
Package: devil-1.7.99.tar.gz [view]
Upload User: wmy0603
Upload Date: 2022-05-02
Package Size: 1808k
Code Size: 4k
Category:
Compress-Decompress algrithms
Development Platform:
Visual C++
- //-----------------------------------------------------------------------------
- //
- // ImageLib Sources
- // Copyright (C) 2000-2008 by Denton Woods
- // Last modified: 10/10/2006
- //
- // Filename: src-IL/src/il_header.c
- //
- // Description: Generates a C-style header file for the current image.
- //
- //-----------------------------------------------------------------------------
- #ifndef IL_NO_CHEAD
- #include "il_internal.h"
- // Just a guess...let's see what's purty!
- #define MAX_LINE_WIDTH 14
- //! Generates a C-style header file for the current image.
- ILboolean ilSave_CHEAD(ILconst_string FileName)
- {
- FILE *HeadFile;
- ILuint i = 0, j;
- ILimage *TempImage;
- const char *Name;
- if (iCurImage == NULL) {
- ilSetError(IL_ILLEGAL_OPERATION);
- return IL_FALSE;
- }
- Name = iGetString(IL_CHEAD_HEADER_STRING);
- if (Name == NULL)
- {
- ilSetError(IL_INVALID_VALUE);
- return IL_FALSE;
- }
- if (FileName == NULL || Name == NULL ||
- ilStrLen(FileName) < 1 || ilCharStrLen(Name) < 1) {
- ilSetError(IL_INVALID_VALUE);
- return IL_FALSE;
- }
- if (!iCheckExtension(FileName, IL_TEXT("h"))) {
- ilSetError(IL_INVALID_EXTENSION);
- return IL_FALSE;
- }
- if (ilGetBoolean(IL_FILE_MODE) == IL_FALSE) {
- if (iFileExists(FileName)) {
- ilSetError(IL_FILE_ALREADY_EXISTS);
- return IL_FALSE;
- }
- }
- if (iCurImage->Bpc > 1) {
- TempImage = iConvertImage(iCurImage, iCurImage->Format, IL_UNSIGNED_BYTE);
- if (TempImage == NULL)
- return IL_FALSE;
- } else {
- TempImage = iCurImage;
- }
- #ifndef _UNICODE
- HeadFile = fopen(FileName, "wb");
- #else
- #ifdef _WIN32
- HeadFile = _wfopen(FileName, L"rb");
- #else
- HeadFile = fopen((char*)FileName, "rb");
- #endif
- #endif//_UNICODE
- if (HeadFile == NULL) {
- ilSetError(IL_COULD_NOT_OPEN_FILE);
- return IL_FALSE;
- }
- fprintf(HeadFile, "//#include <il/il.h>n");
- fprintf(HeadFile, "// C Image Header:nnn");
- fprintf(HeadFile, "// IMAGE_BPP is in bytes per pixel, *not* bitsn");
- fprintf(HeadFile, "#define IMAGE_BPP %dn",iCurImage->Bpp);
- fprintf(HeadFile, "#define IMAGE_WIDTH %dn", iCurImage->Width);
- fprintf(HeadFile, "#define IMAGE_HEIGHT %dn", iCurImage->Height);
- fprintf(HeadFile, "#define IMAGE_DEPTH %dnnn", iCurImage->Depth);
- fprintf(HeadFile, "#define IMAGE_TYPE 0x%Xn", iCurImage->Type);
- fprintf(HeadFile, "#define IMAGE_FORMAT 0x%Xnnn", iCurImage->Format);
- fprintf(HeadFile, "ILubyte %s[] = {n", Name);
- for (; i < TempImage->SizeOfData; i += MAX_LINE_WIDTH) {
- fprintf(HeadFile, "t");
- for (j = 0; j < MAX_LINE_WIDTH; j++) {
- if (i + j >= TempImage->SizeOfData - 1) {
- fprintf(HeadFile, "%4d", TempImage->Data[i+j]);
- break;
- }
- else
- fprintf(HeadFile, "%4d,", TempImage->Data[i+j]);
- }
- fprintf(HeadFile, "n");
- }
- if (TempImage != iCurImage)
- ilCloseImage(TempImage);
- fprintf(HeadFile, "};n");
- if (iCurImage->Pal.Palette && iCurImage->Pal.PalSize && iCurImage->Pal.PalType != IL_PAL_NONE) {
- fprintf(HeadFile, "nn");
- fprintf(HeadFile, "#define IMAGE_PALSIZE %unn", iCurImage->Pal.PalSize);
- fprintf(HeadFile, "#define IMAGE_PALTYPE 0x%Xnn", iCurImage->Pal.PalType);
- fprintf(HeadFile, "ILubyte %sPal[] = {n", Name);
- for (i = 0; i < iCurImage->Pal.PalSize; i += MAX_LINE_WIDTH) {
- fprintf(HeadFile, "t");
- for (j = 0; j < MAX_LINE_WIDTH; j++) {
- if (i + j >= iCurImage->Pal.PalSize - 1) {
- fprintf(HeadFile, " %4d", iCurImage->Pal.Palette[i+j]);
- break;
- }
- else
- fprintf(HeadFile, " %4d,", iCurImage->Pal.Palette[i+j]);
- }
- fprintf(HeadFile, "n");
- }
- fprintf(HeadFile, "};n");
- }
- fclose(HeadFile);
- return IL_TRUE;
- }
- #endif//IL_NO_CHEAD