⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 linkimage.c

📁 openmap java写的开源数字地图程序. 用applet实现,可以像google map 那样放大缩小地图.
💻 C
字号:
/* ********************************************************************** *  * <copyright> *  *  BBN Technologies, a Verizon Company *  10 Moulton Street *  Cambridge, MA 02138 *  (617) 873-8000 *  *  Copyright (C) BBNT Solutions LLC. All rights reserved. *  * </copyright> * ********************************************************************** *  * $Source: /cvs/distapps/openmap/src/cserver/link/src/LinkImage.c,v $ * $RCSfile: LinkImage.c,v $ * $Revision: 1.2 $ * $Date: 2004/01/26 19:07:09 $ * $Author: dietrick $ *  * ********************************************************************** */#include "LinkImage.h"#include "LinkSocket.h"#include "GlobalConstants.h"int WriteDirectImage(LinkSocket *linkSocket, DirectImage *directimage){    int check= OK,i;     /*Write number of pixels a client is supposed to read*/     check = check || WriteInteger(linkSocket, directimage->numberOfPixels);      /*Write the values*/    /*An optimized version. Write the entire buffer instead of writing every integer*/    /* check = check || WriteChars(linkSocket,(char *)directimage->image,        directimage->numberOfPixels*N_BYTES_PER_INTEGER); */    for(i=0;i<directimage->numberOfPixels;i++)    {        check = check || WriteInteger(linkSocket, directimage->image[i]);    }    return check;}int BufferedWriteDirectImage(char *toBuffer, DirectImage *directimage){    int byteswritten = 0,i;    /*Write number of pixels a client is supposed to read*/     byteswritten += BufferedWriteInteger(&toBuffer[byteswritten],                                         directimage->numberOfPixels);      /*Write the values*/    /*An optimized version. Write the entire buffer instead of writing every integer*/    /*byteswritten += BufferedWriteChars(&toBuffer[byteswritten],      (char *)directimage->image,       directimage->numberOfPixels*N_BYTES_PER_INTEGER);*/    for(i=0;i<directimage->numberOfPixels;i++)    {        byteswritten += BufferedWriteInteger(&toBuffer[byteswritten],                                             directimage->image[i]);    }    return byteswritten;}int GetDirectImageSize(DirectImage *directimage){    return N_BYTES_PER_INTEGER + /*Bytes used by nmberOfPixels(an Integer)*/        N_BYTES_PER_INTEGER*directimage->numberOfPixels; /*Bytes used by pixels*/}int WriteIndexedImage(LinkSocket *linkSocket, IndexedImage *indexedimage){    int check = OK,i;    /* Write number of pixels*/    check = check || WriteInteger(linkSocket, indexedimage->numberOfPixels);    /*Write image*/    check = check || WriteChars(linkSocket, indexedimage->image,                                indexedimage->numberOfPixels);    /*Write color table size*/    check = check || WriteInteger(linkSocket, indexedimage->colorTableSize);    /*Write Color table*/    /*The optimized version*/    /*check = check || WriteChars(linkSocket, indexedimage->colorTable,      indexedimage->colorTableSize*N_BYTES_PER_INTEGER);*/    for(i=0;i<indexedimage->colorTableSize;i++)    {        check = check || WriteInteger(linkSocket, indexedimage->colorTable[i]);    }    return check;}int BufferedWriteIndexedImage(char *toBuffer, IndexedImage *indexedimage){    int byteswritten = 0,i;    /* Write number of pixels*/    byteswritten += BufferedWriteInteger(&toBuffer[byteswritten],                                         indexedimage->numberOfPixels);    /*Write image*/    byteswritten += BufferedWriteChars(&toBuffer[byteswritten],                                       indexedimage->image, indexedimage->numberOfPixels);    /*Write color table size*/    byteswritten += BufferedWriteInteger(&toBuffer[byteswritten],                                         indexedimage->colorTableSize);    /*Write Color table*/    /*The optimized version*/    /*byteswritten += BufferedWriteChars(&toBuffer[byteswritten],      (char *)indexedimage->colorTable,      indexedimage->colorTableSize*N_BYTES_PER_INTEGER);*/    for(i=0;i<indexedimage->colorTableSize;i++)    {        byteswritten += BufferedWriteInteger(&toBuffer[byteswritten],                                             indexedimage->colorTable[i]);    }    return byteswritten;}int GetIndexedImageSize(IndexedImage *indexedimage){    return N_BYTES_PER_INTEGER + /*Bytes used by numberOfPixels(an Integer)*/        indexedimage->numberOfPixels + /*each pixel is 1 byte */        N_BYTES_PER_INTEGER + /* Bytes used by colorTableSize */        N_BYTES_PER_INTEGER*indexedimage->colorTableSize +         N_BYTES_PER_INTEGER; /*Bytes used by transparency(an integer)*/}

⌨️ 快捷键说明

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