仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 523|回复: 9
打印 上一主题 下一主题

[学习教程] JAVA教程之本人写了一个imagebuffer 转 bmp 流的代...

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:07:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。try{
BufferedImagebi=null;
if(isURL==true){
bi=ImageIO.read(newURL(inFileName));
}
else{
bi=ImageIO.read(newFile(inFileName));
}

int[]rgbArray=newint[101*29];//我测试用的图像文件象素值宽度是101宽,29长的

bi.getRGB(0,0,101,29,rgbArray,0,101);
for(inti=0;i<101*29;i++){//我做的只是双色图,以是这里查出每个象素是1(黑)仍是0(白)
if((rgbArray[i]&0xffffff)==0x000000)
rgbArray[i]=0;
else
rgbArray[i]=1;
}
//以下是BMP文件格局的界说,加倍详细的申明能够到http://www.wotsit.org找
int[]identifier={B,M};
int[]fileSize={0x0E,0x02,0x00,0x00};
int[]reserved={0x00,0x00,0x00,0x00};
int[]bitmapDataOffset={0x3E,0x00,0x00,0x00};
int[]bitmapHeaderSize={0x28,0x00,0x00,0x00};
int[]width={0x65,0x00,0x00,0x00};
int[]height={0x1D,0x00,0x00,0x00};
int[]planes={0x01,0x00};
int[]bitsPerPixel={0x01,0x00};
int[]compression={0x00,0x00,0x00,0x00};
int[]bitmapDataSize={0xD0,0x01,0x00,0x00};
int[]hResolution={0x00,0x00,0x00,0x00};
int[]vResolution={0x00,0x00,0x00,0x00};
int[]colors={0x00,0x00,0x00,0x00};
int[]importantColors={0x00,0x00,0x00,0x00};
int[]palette={0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00};
//记着bmp没一个扫描行都要扩大到下一个4bytes的倍数,如101就要酿成128,扩大的byte补0便可
int[]bitmapData=newint[(101+27)*29/8];
intn=0;
for(inti=0;i<29;i++){//BMP格局是从最初一行入手下手scan的
for(intj=1;j<=101;j++){
if(rgbArray[(28-i)*101+j-1]==1){
bitmapData[n]=bitmapData[n]|(1<<(8-j%8)%8);
}
if(j%8==0){
n++;
}
if(j==101){
n+=4;
}
}
}
RandomAccessFileo=newRandomAccessFile(outFileName,"rw");
o.setLength(0);
for(inti=0;i<identifier.length;i++){
o.write(identifier[i]);
}
for(inti=0;i<fileSize.length;i++){
o.write(fileSize[i]);
}
for(inti=0;i<reserved.length;i++){
o.write(reserved[i]);
}
for(inti=0;i<bitmapDataOffset.length;i++){
o.write(bitmapDataOffset[i]);
}
for(inti=0;i<bitmapHeaderSize.length;i++){
o.write(bitmapHeaderSize[i]);
}
for(inti=0;i<width.length;i++){
o.write(width[i]);
}
for(inti=0;i<height.length;i++){
o.write(height[i]);
}
for(inti=0;i<planes.length;i++){
o.write(planes[i]);
}
for(inti=0;i<bitsPerPixel.length;i++){
o.write(bitsPerPixel[i]);
}
for(inti=0;i<compression.length;i++){
o.write(compression[i]);
}
for(inti=0;i<bitmapDataSize.length;i++){
o.write(bitmapDataSize[i]);
}
for(inti=0;i<hResolution.length;i++){
o.write(hResolution[i]);
}
for(inti=0;i<vResolution.length;i++){
o.write(vResolution[i]);
}
for(inti=0;i<colors.length;i++){
o.write(colors[i]);
}
for(inti=0;i<importantColors.length;i++){
o.write(importantColors[i]);
}
for(inti=0;i<palette.length;i++){
o.write(palette[i]);
}
for(inti=0;i<bitmapData.length;i++){
o.write(bitmapData[i]);
}
o.close();
}
catch(MalformedURLExceptione){
e.printStackTrace();
}
catch(IOExceptione){
e.printStackTrace();
}

假如有甚么不分明的,请接洽我flcc@263.sina.com,我将尽我所能的匡助你。
没有那个大公司会傻了吧唧用.net开发大型项目,开发了,那等于自己一半的生命线被微软握着呢。而.net不行,限制在window系统,又是捆绑,鄙视微软之!
山那边是海 该用户已被删除
沙发
发表于 2015-1-20 14:52:11 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.ckuyun.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
板凳
发表于 2015-1-29 10:56:14 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
兰色精灵 该用户已被删除
地板
发表于 2015-1-30 10:45:58 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
深爱那片海 该用户已被删除
5#
发表于 2015-2-6 10:06:14 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
活着的死人 该用户已被删除
6#
发表于 2015-2-15 22:48:58 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
因胸联盟 该用户已被删除
7#
 楼主| 发表于 2015-3-4 16:16:23 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
第二个灵魂 该用户已被删除
8#
发表于 2015-3-11 20:19:19 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-3-19 11:25:37 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
不帅 该用户已被删除
10#
发表于 2015-3-27 22:08:38 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 11:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表