ref: 9ced712a2ad70557a8ceb89ff3b969b92c85f68c
dir: /sys/src/cmd/aux/antiword/jpeg2eps.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 */