1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*
- * 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 */
|