jpeg2sprt.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 98 行

C
98
字号
/* * jpeg2sprt.c * Copyright (C) 2000-2002 A.J. van Os; Released under GPL * * Description: * Functions to translate jpeg pictures into sprites */#include <stdio.h>#include "antiword.h"#if 0 /* defined(DEBUG) */static int iPicCounter = 0;#endif /* DEBUG */#if 0 /* defined(DEBUG) */static voidvCopy2File(UCHAR *pucJpeg, size_t tJpegSize){	FILE	*pOutFile;	size_t	tIndex;	char	szFilename[30];	sprintf(szFilename, "<Wimp$ScrapDir>.jpeg%04d", ++iPicCounter);	pOutFile = fopen(szFilename, "wb");	if (pOutFile == NULL) {		return;	}	DBG_MSG(szFilename);	for (tIndex = 0; tIndex < tJpegSize; tIndex++) {		if (putc(pucJpeg[tIndex], pOutFile) == EOF) {			break;		}	}	(void)fclose(pOutFile);	vSetFiletype(szFilename, FILETYPE_JPEG);} /* end of vCopy2File */#endif /* DEBUG *//* * bSave2Draw - save the JPEG picture to the Draw file * * This function puts a JPEG picture in a Draw file * * return TRUE when sucessful, otherwise FALSE */BOOLbSave2Draw(diagram_type *pDiag, FILE *pFile,	size_t tJpegSize, const imagedata_type *pImg){	UCHAR	*pucJpeg, *pucTmp;	size_t	tLen;	int	iByte;	pucJpeg = xmalloc(tJpegSize);	for (pucTmp = pucJpeg, tLen = 0; tLen < tJpegSize; pucTmp++, tLen++) {		iByte = iNextByte(pFile);		if (iByte == EOF) {			return FALSE;		}		*pucTmp = (UCHAR)iByte;	}#if 0 /* defined(DEBUG) */	vCopy2File(pucJpeg, tJpegSize);#endif /* DEBUG */	/* Add the JPEG to the Draw file */	vImage2Diagram(pDiag, pImg, pucJpeg, tJpegSize);	xfree(pucJpeg);	return TRUE;} /* end of bSave2Draw *//* * bTranslateJPEG - translate a JPEG picture * * This function translates a picture from jpeg to sprite * * return TRUE when sucessful, otherwise FALSE */BOOLbTranslateJPEG(diagram_type *pDiag, FILE *pFile,	ULONG ulFileOffset, size_t tPictureLen, const imagedata_type *pImg){  	/* Seek to start position of JPEG data */	if (!bSetDataOffset(pFile, ulFileOffset)) {		return FALSE;	}	if (iGetRiscOsVersion() >= 360) {		return bSave2Draw(pDiag, pFile, tPictureLen, pImg);	}  	/* JPEG is not supported until RISC OS 3.6 */	return bAddDummyImage(pDiag, pImg);} /* end of bTranslateJPEG */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?