亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? image_alloc.c

?? LastWave
?? C
?? 第 1 頁 / 共 3 頁
字號(hào):
/*..........................................................................*//*                                                                          *//*      L a s t W a v e    P a c k a g e 'image' 2.1                        *//*                                                                          *//*      Copyright (C) 1998-2003 Emmanuel Bacry, Jerome Fraleu.              *//*      emails : fraleu@cmap.polytechnique.fr                               *//*               lastwave@cmap.polytechnique.fr                             *//*                                                                          *//*..........................................................................*//*                                                                          *//*      This program is a free software, you can redistribute it and/or     *//*      modify it under the terms of the GNU General Public License as      *//*      published by the Free Software Foundation; either version 2 of the  *//*      License, or (at your option) any later version                      *//*                                                                          *//*      This program is distributed in the hope that it will be useful,     *//*      but WITHOUT ANY WARRANTY; without even the implied warranty of      *//*      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the       *//*      GNU General Public License for more details.                        *//*                                                                          *//*      You should have received a copy of the GNU General Public License   *//*      along with this program (in a file named COPYRIGHT);                *//*      if not, write to the Free Software Foundation, Inc.,                *//*      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA             *//*                                                                          *//*..........................................................................*//****************************************************************************//*                                                                          *//*  image_alloc.c   Functions which deal with the dynamical                 *//*                   allocation of memory for IMAGE 's                      *//*                                                                          *//****************************************************************************/#include "lastwave.h"#include "images.h"#include "int_fsilist.h"/********************************************** * * Send a message to an image * **********************************************//* Default name for an image */static char defaultName[] = "";char *imageType = "&image";char *imageiType = "&imagei"; /********************************************/extern int flagOn;IMAGE NewImage(){  extern TypeStruct tsImage;  IMAGE image;  #ifdef DEBUGALLOCDebugType = "Image";#endif    image = (IMAGE) (Malloc(sizeof(struct image)));    InitValue(image,&tsImage);    image->pixels = NULL;  image->nrow = image->ncol = 0;  image->sizeMalloc = 0;  image->border_ver =0;  image->border_hor =0;  image->name = defaultName;  if (flagOn) Printf("** New Image %p\n",image);   return (image);}IMAGE TNewImage(void){  IMAGE image;    image = NewImage();  TempValue(image);  return(image);}void DeleteImage(image)     IMAGE image;{  if (image) {    if (image->nRef==0) {      Warningf("DeleteImage() : Trying to delete a temporary image\n");      return;    }    RemoveRefValue(image);    if (image->nRef > 0) return;    if (flagOn) Printf("** Delete Image %p\n",image);        if (image->name != defaultName) Free(image->name);    image->name=NULL;    if (image->pixels) Free(image->pixels);    image->pixels = NULL;#ifdef DEBUGALLOCDebugType = "Image";#endif    Free(image);    image=NULL;  }}/* Reinitialization of structure and desallocate the array */void ClearImage(IMAGE image){  if (image->pixels) Free(image->pixels);  image->pixels = NULL;  image->nrow = image->ncol = 0;  image->sizeMalloc = 0;}     void SizeImage(IMAGE image, int ncol, int nrow){  extern LWFLOAT *FloatCAlloc(int size);  int s;  int nrow1= nrow+ (1-nrow%2);  int ncol1= ncol+ (1-ncol%2);    if (image == NULL) Errorf("SizeImage() : Try to change the size of an NULL image. \n");  s = nrow1*ncol1;  if (s > image->sizeMalloc) {    if (image->pixels) Free(image->pixels);    image->pixels = FloatCAlloc(s);    image->sizeMalloc = s;  }  image->nrow = nrow;  image->ncol = ncol;}IMAGE CopyImage(IMAGE in,IMAGE out){  int nrow1= in->nrow+ (1-in->nrow%2);  int ncol1= in->ncol+ (1-in->ncol%2); if (in == out) return(out);  if (out == NULL) out = NewImage();     SizeImage(out,in->ncol,in->nrow);   CopyFieldsImage(in,out);    memcpy(out->pixels,in->pixels,nrow1*ncol1*sizeof(LWFLOAT));    return(out);}void CopyFieldsImage(IMAGE in,IMAGE  out){  out->border_hor =  in->border_hor;   out->border_ver =  in->border_ver;}/*********************************************************************************** * *  Image and variables * ***********************************************************************************//*  * Getting an image variable at a given level *   (Set the error message and returns NULL if there is an error) */ IMAGE GetImageVariableLevel(LEVEL level,char *name){  IMAGE image;  char *type;  VALUE value;  value = GetVariableContentLevel(level,name,NULL);   type = GetTypeValue(value);  if (type != imageType && type != imageiType) {     SetErrorf("GetImageVariableLevel() : Variable '%s' has not the expected type '&image' or '&imagei'",name);    return(NULL);  }   image = (IMAGE) value;  return(image);} IMAGE GetImageVariable(char *name){  return(GetImageVariableLevel(levelCur,name));}/*  * Setting an image variable at a given level (creates it if it does not exist) */  void SetImageVariableLevel(LEVEL level,char *name,IMAGE image){  SetVariableLevel(level,name,(VALUE) image);}void SetImageVariable(char *name,IMAGE image){  SetVariable(name,(VALUE) image);}/*********************************************************************************** * *  Parsing an image  * ***********************************************************************************/  /* * Parse an output Image */char ParseImageLevel_(LEVEL level, char *arg, IMAGE defVal, IMAGE *im){  char *type;  LWFLOAT f;    type = TTEvalExpressionLevel_(level,arg,&f,(VALUE *) im,ImageType,NO,NO,AnyType,YES);  if (type == NULL) {    *im = defVal;    if (defVal != NULL) (*im)->nRef++;    return(NO);  }    return(YES);}char ParseImage_(char *arg, IMAGE defVal, IMAGE *im){  return(ParseImageLevel_(levelCur,arg,defVal,im));}void ParseImageLevel(LEVEL level,char *arg,IMAGE *im){  if (ParseImageLevel_(level,arg,NULL,im) == NO) Errorf1("");}void ParseImage(char *arg, IMAGE *im){  ParseImageLevel(levelCur,arg,im);}/* * Parse an input Image */char ParseImageILevel_(LEVEL level, char *arg, IMAGE defVal, IMAGE *im){    char *type;  LWFLOAT f;    type = TTEvalExpressionLevel_(level,arg,&f,(VALUE *) im,ImageType,NO,NO,AnyType,NO);  if (type == NULL || (*im)->nrow == 0 || (*im)->ncol == 0) {    *im = defVal;    if (defVal != NULL) {      if (defVal->nrow == 0 || defVal->ncol == 0) Errorf("ParseImageILevel_() : default signal is empty");      (*im)->nRef++;    }    return(NO);  }        return(YES);}char ParseImageI_(char *arg, IMAGE defVal,  IMAGE *im){  return(ParseImageILevel_(levelCur,arg,defVal,im));}void ParseImageILevel(LEVEL level, char *arg,  IMAGE *im){  if (ParseImageILevel_(level,arg,NULL,im) == NO) Errorf1("");}void ParseImageI(char *arg,  IMAGE *im){  ParseImageILevel(levelCur,arg,im);}void C_InfoImage (char **argv){    IMAGE image;    argv = ParseArgv(argv,tIMAGEI,&image,0);  if (image == NULL)     Errorf(" NULL image");    Printf(" Image '%s'    [%d]\n",image->name,image->nRef);      Printf(" ncol x nrow  :  %d x %d  [%d]\n",image->ncol,image->nrow,image->sizeMalloc);      Printf("\n");  }void C_CopyImage (char **argv){      IMAGE input,output;    argv = ParseArgv(argv,tIMAGEI,&input,tIMAGE,&output,0);      CopyImage(input,output);}/* * Function to get the type of an image */static char * GetTypeImage(VALUE value){  IMAGE i = (IMAGE) value;    if (i->nrow == 0 || i->ncol == 0) return(imageType);  return(imageiType);}/* * Print an image when it is a result */#define ImPrintLengthRow 6#define ImPrintLengthCol 10 void PrintImage(IMAGE im){  int r,c;    if (im->ncol==0 || im->nrow==0) {    Printf("<nrow=%d;ncol=%d>",im->nrow,im->ncol);    return;  }  for (r = 0; r < im->nrow; r++) {    for (c = 0; c < im->ncol; c++) {      Printf(LWDoubleFormat, im->pixels[im->ncol*r+c]);      Printf(" ");    }    Printf("\n");  }}/* * String conversion */char *ToStrImage(IMAGE im, char flagShort){  static char strShort[50];  int nAlloc;  char *str;  int r,c;  if (flagShort || im->ncol==0 || im->nrow==0 || im->ncol > ImPrintLengthCol || im->nrow > ImPrintLengthRow) {    sprintf(strShort,"<nrow=%d;ncol=%d>",im->nrow,im->ncol);    return(strShort);  }  nAlloc = 300;  str = CharAlloc(nAlloc);  TempPtr(str);  sprintf(str,"<nrow=%d;ncol=%d>\n",im->nrow,im->ncol);    for (r = 0; r < im->nrow; r++) {    for (c = 0; c < im->ncol; c++) {      if (strlen(str) > nAlloc-40) {        nAlloc+=300;        str = CharAlloc(nAlloc);        TempPtr(str);      }      sprintf(strShort,LWDoubleFormat,im->pixels[im->ncol*r+c]);      strcat(strShort," ");      strcat(str,strShort);    }    if (r!= im->nrow-1) strcat(str,"\n");  }  return(str);}/* * Print the info of a signal */void PrintInfoImage(IMAGE im){  Printf("   nrow x ncol  :  %d x %d  [%d]\n",im->nrow,im->ncol,im->sizeMalloc);}/* * The main routine that returns a pixel value given (col,row) indexes and a border type. */LWFLOAT CR2PixIm(IMAGE im,int row, int col, BorderType btc, BorderType btr){  switch (btc) {    case BorderNone :    break;    case BorderCon : /* ?? a faire ?? */      break;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频网在线直播| 一区二区三区四区乱视频| av在线一区二区| 青椒成人免费视频| 亚洲色欲色欲www在线观看| 91精品国产乱| 91免费观看国产| 国产麻豆一精品一av一免费| 亚欧色一区w666天堂| 中日韩免费视频中文字幕| 欧美一区二区三区视频免费| 色欧美片视频在线观看在线视频| 久久精品国产久精国产爱| 亚洲国产sm捆绑调教视频| 亚洲欧洲精品一区二区三区不卡| 精品国产91九色蝌蚪| 欧美久久久一区| 日本高清不卡aⅴ免费网站| 国产高清无密码一区二区三区| 日韩国产精品大片| 亚洲与欧洲av电影| 亚洲精品一卡二卡| 中文字幕在线一区| 国产欧美一二三区| 久久午夜羞羞影院免费观看| 欧美大黄免费观看| 91精品国产色综合久久不卡蜜臀| 欧美写真视频网站| 色综合久久88色综合天天免费| 本田岬高潮一区二区三区| 国产不卡在线视频| 国产91清纯白嫩初高中在线观看| 韩国成人精品a∨在线观看| 蜜臀国产一区二区三区在线播放| 亚洲国产另类精品专区| 一区二区三区中文字幕精品精品| 亚洲天堂久久久久久久| 亚洲图片欧美激情| 亚洲欧美另类小说视频| 亚洲欧美日韩中文字幕一区二区三区| 欧美国产欧美综合| 国产精品免费网站在线观看| 国产精品国产三级国产| 亚洲欧洲国产日韩| 亚洲男人天堂一区| 一区二区成人在线| 天天色天天操综合| 另类小说综合欧美亚洲| 激情久久五月天| 国产高清精品久久久久| 粉嫩欧美一区二区三区高清影视 | 久久久久9999亚洲精品| 久久久精品免费网站| 中文字幕第一区第二区| 亚洲色图一区二区三区| 亚洲国产va精品久久久不卡综合| 日本在线播放一区二区三区| 日韩电影在线免费| 国产一区二区毛片| 99久久久久久| 欧美日韩在线综合| 欧美v亚洲v综合ⅴ国产v| 国产欧美一区二区三区沐欲| 国产精品伦理在线| 亚洲一区二区在线观看视频| 日本欧美在线观看| 国产精品综合二区| 色婷婷久久一区二区三区麻豆| 欧美日韩综合一区| 精品国产伦理网| 日韩理论电影院| 男人操女人的视频在线观看欧美| 国产99一区视频免费| 在线精品视频免费播放| 精品国产污污免费网站入口 | 午夜精品福利一区二区三区蜜桃| 日本美女一区二区| 成人高清免费在线播放| 欧美视频一区二| 国产午夜精品一区二区三区嫩草| 一区二区三区色| 精品亚洲成a人在线观看| 97精品超碰一区二区三区| 欧美精品日日鲁夜夜添| 国产精品久久久久久久蜜臀| 婷婷六月综合网| 成人天堂资源www在线| 欧美亚洲国产一区在线观看网站 | 国产乱码精品1区2区3区| 色综合婷婷久久| 精品国产一区二区三区不卡 | 亚洲欧美二区三区| 麻豆国产欧美日韩综合精品二区| 一本色道久久综合亚洲91| 日韩一区二区三区电影 | 狠狠色丁香九九婷婷综合五月| 91在线观看美女| 精品免费日韩av| 依依成人精品视频| 国产不卡免费视频| 91精品国产综合久久福利| 伊人婷婷欧美激情| 成人午夜视频网站| 精品国产第一区二区三区观看体验 | 国产精品久久影院| 麻豆视频观看网址久久| 在线一区二区视频| 欧美激情在线一区二区| 精品一区二区三区免费观看| 欧美午夜不卡在线观看免费| 国产精品剧情在线亚洲| 国产一区二区三区久久悠悠色av| 欧美剧情片在线观看| 1024成人网| 丁香天五香天堂综合| 欧美xxx久久| 日韩中文字幕不卡| 欧美日韩一区二区在线观看 | 懂色av一区二区在线播放| 欧美一区日韩一区| 亚洲第一会所有码转帖| 色久优优欧美色久优优| 亚洲欧美综合色| 成人夜色视频网站在线观看| 99精品热视频| 国产精品久久久久久久久久久免费看| 国产美女在线观看一区| 精品国产一区二区三区av性色| 免费成人av在线| 日韩欧美亚洲另类制服综合在线| 亚洲高清免费视频| 欧美日韩国产高清一区二区三区| 亚洲一区在线观看网站| 欧美在线观看禁18| 亚洲一级片在线观看| 欧美日韩一区国产| 亚洲成人激情社区| 51午夜精品国产| 琪琪一区二区三区| 日韩免费一区二区三区在线播放| 日产国产欧美视频一区精品| 欧美一二三在线| 九九精品视频在线看| 精品国产制服丝袜高跟| 国产精品18久久久久久久久久久久| 日韩视频永久免费| 精品一区二区在线播放| 久久亚洲二区三区| 成人免费毛片app| 亚洲欧美aⅴ...| 欧美午夜精品久久久久久孕妇| 五月婷婷综合网| 91精品国产色综合久久| 国产一区二区三区久久悠悠色av| 国产精品天美传媒| 色综合久久六月婷婷中文字幕| 一区二区三区毛片| 日韩欧美中文字幕制服| 国产精品亚洲а∨天堂免在线| 国产精品你懂的| 欧美婷婷六月丁香综合色| 日韩电影在线免费看| 久久久久9999亚洲精品| 91色porny| 日韩国产欧美三级| 国产亚洲欧美激情| 91蜜桃网址入口| 日韩国产欧美三级| 欧美高清在线精品一区| 91传媒视频在线播放| 久久精品国产99久久6| 欧美国产亚洲另类动漫| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 天堂在线一区二区| 亚洲国产精品成人久久综合一区| 91亚洲精品一区二区乱码| 午夜精品久久久久久久99樱桃| 久久精品水蜜桃av综合天堂| 欧美伊人久久大香线蕉综合69| 美女久久久精品| 中文字幕在线不卡| 欧美一区二区国产| 91丨porny丨中文| 久久99精品久久久久| 一区二区三区中文字幕电影 | 亚洲自拍偷拍综合| 精品国产乱码久久| 欧美性猛片aaaaaaa做受| 国产精品亚洲一区二区三区在线| 亚洲妇熟xx妇色黄| 欧美国产日本韩| 日韩免费看的电影| 在线亚洲人成电影网站色www| 久久成人久久爱| 亚洲图片欧美一区| 国产精品情趣视频| 精品日产卡一卡二卡麻豆| 欧美在线观看18| av爱爱亚洲一区| 国产乱子轮精品视频|