mirror of
https://github.com/simon987/antiword.git
synced 2025-04-10 13:06:41 +00:00
75 lines
1.4 KiB
C
75 lines
1.4 KiB
C
/*
|
|
* jpeg2eps.c
|
|
* Copyright (C) 2000-2002 A.J. van Os; Released under GPL
|
|
*
|
|
* Description:
|
|
* Functions to translate jpeg pictures into eps
|
|
*
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include "antiword.h"
|
|
|
|
#if defined(DEBUG)
|
|
static int iPicCounter = 0;
|
|
#endif /* DEBUG */
|
|
|
|
|
|
#if defined(DEBUG)
|
|
/*
|
|
* vCopy2File
|
|
*/
|
|
static void
|
|
vCopy2File(FILE *pFile, ULONG ulFileOffset, size_t tPictureLen)
|
|
{
|
|
FILE *pOutFile;
|
|
size_t tIndex;
|
|
int iTmp;
|
|
char szFilename[30];
|
|
|
|
if (!bSetDataOffset(pFile, ulFileOffset)) {
|
|
return;
|
|
}
|
|
|
|
sprintf(szFilename, "/tmp/pic/pic%04d.jpg", ++iPicCounter);
|
|
pOutFile = fopen(szFilename, "wb");
|
|
if (pOutFile == NULL) {
|
|
return;
|
|
}
|
|
for (tIndex = 0; tIndex < tPictureLen; tIndex++) {
|
|
iTmp = iNextByte(pFile);
|
|
if (putc(iTmp, pOutFile) == EOF) {
|
|
break;
|
|
}
|
|
}
|
|
(void)fclose(pOutFile);
|
|
} /* end of vCopy2File */
|
|
#endif /* DEBUG */
|
|
|
|
/*
|
|
* bTranslateJPEG - translate a JPEG picture
|
|
*
|
|
* This function translates a picture from jpeg to eps
|
|
*
|
|
* return TRUE when sucessful, otherwise FALSE
|
|
*/
|
|
BOOL
|
|
bTranslateJPEG(diagram_type *pDiag, FILE *pFile,
|
|
ULONG ulFileOffset, size_t tPictureLen, const imagedata_type *pImg)
|
|
{
|
|
#if defined(DEBUG)
|
|
vCopy2File(pFile, ulFileOffset, tPictureLen);
|
|
#endif /* DEBUG */
|
|
|
|
/* Seek to start position of JPEG data */
|
|
if (!bSetDataOffset(pFile, ulFileOffset)) {
|
|
return FALSE;
|
|
}
|
|
|
|
vImagePrologue(pDiag, pImg);
|
|
vASCII85EncodeFile(pFile, pDiag->pOutFile, tPictureLen);
|
|
vImageEpilogue(pDiag);
|
|
|
|
return TRUE;
|
|
} /* end of bTranslateJPEG */
|