processing笔记1——表格、文本、图片读存

1、表格读写

表格格式:

目前此方法支持“.csv”文件。其余文件格式应该是不支持的。不过幸好,学姐们给的数据文件格式也是csv文件。

表格读取相关代码语法:

涉及的数据类型(类):
Table table;                                  //表格类
TableRow row;                              //表格行类
读取表格文件:
table=loadTable("******.csv","header");    //第一参:文件路径
                                         //第二参:省略为无表头,header为有表头
获取一些表格信息:
int countNum=table.getRowCount();            //总行数。列数是getColumnCount
读取指定行:
row=table.getRow(INT);            //要第几行就写几。表头不算行数。
//行数从第0行开始算起
//如果需要获得表头内容,读取文件的时候不能用header读进来
获得指定单元格内容:

先读取指定行,再读取该行的指定列:

row=table.getRow(INT);
Object xxx=row.getObject(INT/STRING);        //比如:
int x=row.getInt(0);
float y=row.getFloat(1);
String name=row.getString("Name");
//在提供的数据类型里读取。参数是int或者字符串String类型
//int就是列索引,从第0列算起
//String要求必须是用header读进来的有表头的表格
//String内容即为该列的列名。重复列名估计只取第一个

表格新建、写入、保存相关代码语法:

表格保存:
saveTable(table,"*****.csv");    //第一参:表格
                 //第二参:保存路径。已存在文件则会覆盖内容
表格修改:

步骤大致:读表格——设置单元格的值——保存覆盖/另存

//读表格
//读某行
row.setObject(INT/STRING,Object);      //设置值
          //第一参:列索引/列名(有表头)
          //第二参:要设置的数据类型的变量
//比如:
row.setFloat("Start",13.66f);

saveTable(table,"*****.csv");        //覆盖就和原路径一样,另存就写个新的路径
新建表格:

步骤大致:新建表格对象——设置列——增加行——设置单元格的值——保存

      Table targetTable;
      targetTable=new Table();
      targetTable.addColumn("Start",Table.FLOAT);
      targetTable.addColumn("R",Table.FLOAT);
      targetTable.addColumn("G",Table.FLOAT);
      targetTable.addColumn("B",Table.FLOAT);
      targetTable.addColumn("A",Table.FLOAT);
      //给了列名和数据类型。具体参数是否可省看文档
      TableRow targetRow=targetTable.addRow();
      //新增一行。可以一直增,然后重新获取目标行在设置单元格内容
      targetRow.setFloat("Start",start);
      targetRow.setFloat("R",rawEndRow.getFloat("R"));
      targetRow.setFloat("G",rawEndRow.getFloat("G"));
      targetRow.setFloat("B",rawEndRow.getFloat("B"));
      targetRow.setFloat("A",rawEndRow.getFloat("A"));
      //设置值
      saveTable(targetTable,"***********.csv");
      //保存

2、文本读取

TXT文本目前只用到读取,格式要求:

TXT文本文档,含中文的话,则要求是U8编码,否则processing读取到的是乱码中文。
U8编码可以在TXT文本进行另存为时修改。

代码语法:

按行逐行读取的一整套:

BufferedReader reader;                        //读取器
reader=createReader("*******.txt");        //参数是:文本文档路径的String
try{
      String line="";
      line=reader.readLine();                //line即读取的行
      while(line!=null){                      //不为空就继续读
            /****
            操作
            ***/
            line=reader.readLine();        //读下一行
      }
      reader.close();
}
catch(IOException e){
      println(e);
}

暂不清楚文本中有空行时会发生什么。可能会停下。

3、图片读存

格式:

应该是各种常见的图片格式都可以的。

代码语法:

读图片像素RGB:
PImage img;
img=loadImage("******.png","png");   //第一个参数路径,第二个参数可以省
img.loadPixels();          //文档要求写,貌似省略也没问题。安全起见还是写了
color pix=img.pixels[j*128+i];          //一维数组,应该是横向排列的
int b=pix&0xFF;
int g=(pix>>8)&0xFF;
int r=(pix>>16)&0xFF;          //运用了位运算

color类型实质是一个int。16进制下正好是常见的颜色编码,比如C392B4这样子。位运算后与16进制下的255(就是FF,二进制8位全1)进行与运算,截得最低的8位。按顺序,得到的结果由高到低分别是R,G,B。

存画布:

将当前画布内容(当前帧)存成图片。

save("********.png");              //其他常见格式jpg、tif也可以
存序列帧:

将当前帧存成固定命名格式的图片。

saveFrame("***-######.png");          //具体命名规则文档里有
                         //井号会被替换成帧数(frameCount),高位补0

一般用法是将它写在draw()里,保存成序列帧,整理到一个文件夹里。
然后用processing的“工具——Movie Maker”,选择这个文件夹,设置帧数,导出成视频文件。
可以用一个index去除以间隔数取余,实现抽帧保存。

直接保存图片文件:

修改图片文件的像素值之后,直接保存图片变量为文件。文档里肯定有相关方法,但是我暂时没用到。所以不忙写了。用到再补。

注意事项:

保存图片时要等上一会儿,保存需要一定时间。建议加个println去表示保存完毕。保存中途中断的话,图片会只存了一半,或者图片文件受损打不开。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容