资源简介
java写小游戏外挂插件源代码分享.讲源代码放在eclipse中可以运行使用的。主要还是研究技术、不是外挂。
代码片段和文件信息
package llk;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
/**
* @author 神
*
*/
public class BMP {
private int width;
private int height;
private byte[] data;
public BMP() {
}
public BMP(String src) {
this.read(src);
}
public int getWidth() {
return width;
}
public int getHeight() {
return height;
}
public static int b2i(byte[] b int s) {
int ret = 0;
for (int i = 0; i < 4; i++) {
int temp = b[s + i] & 0xff;
ret += temp << (8 * i);
}
return ret;
}
/** * 读取图片文件 * @param src 文件路径 */
public void read(String src) {
width = 0;
height = 0;
ByteArrayOutputStream bs = new ByteArrayOutputStream();
BufferedInputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(src));
byte[] b = new byte[1024 * 1024];
int len = 0;
while ((len = in.read(b)) != -1) {
bs.write(b 0 len);
bs.flush();
}
data = bs.toByteArray();
width = b2i(data 18);
height = b2i(data 22);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
bs.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 这方法捣鼓了我好久才弄出来
public int getColor(int x int y) {
// BMP图要求每行字节数为4的倍数不够则填充1-3个无用字节
int lineW = 0;
switch ((width * 3) % 4) {
case 0:
lineW = width * 3;
break;
case 1:
lineW = width * 3 + 3;
break;
case 2:
lineW = width * 3 + 2;
break;
case 3:
lineW = width * 3 + 1;
}
int i = 54 + (height - y - 1) * lineW + 3 * x;
int r = data[i + 2] & 0xff;
int g = data[i + 1] & 0xff;
int b = data[i] & 0xff;
return r + (g << 8) + (b << 16);
}
public void setColor(int x int y int v) {
int lineW = 0;
switch ((width * 3) % 4) {
case 0:
lineW = width * 3;
break;
case 1:
lineW = width * 3 + 3;
break;
case 2:
lineW = width * 3 + 2;
break;
case 3:
lineW = width * 3 + 1;
}
int i = 54 + (height - y - 1) * lineW + 3 * x;
data[i + 2] = (byte) ((v >> 16) & 0xff);
data[i + 1] = (byte) ((v >> 8) & 0xff);
data[i] = (byte) (v & 0xff);
}
// 取矩形颜色数据
public byte[] getData(int x int y int w int h) {
ByteArrayOutputStream bos = new ByteArrayOutputStream(w * h);
try {
for (int i = x; i < x + w; i++) {
for (int j = y; j < y + h; j++) {
bos.write(getColor(i j));
bos.flush();
}
}
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
return bos.toByteArray();
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 353 2013-03-20 20:22 llk\.classpath
文件 379 2013-03-20 17:00 llk\.project
文件 629 2013-03-20 17:00 llk\.settings\org.eclipse.jdt.core.prefs
文件 3100 2013-03-21 11:37 llk\bin\llk\BMP.class
文件 3367 2013-03-21 01:31 llk\bin\llk\DepthFirst.class
文件 628 2013-03-21 01:13 llk\bin\llk\Fangkuai.class
文件 902 2013-03-21 01:27 llk\bin\llk\FkSet.class
文件 2650 2013-03-21 11:48 llk\bin\llk\Lianlk.class
文件 726 2013-03-20 20:55 llk\bin\llk\Point.class
文件 614 2013-03-20 22:41 llk\bin\win32\Mouse.class
文件 285 2013-03-20 21:51 llk\bin\win32\Point.class
文件 320 2013-03-20 22:40 llk\bin\win32\Rect.class
文件 570 2013-03-20 22:41 llk\bin\win32\User32.class
文件 1426 2013-03-21 01:40 llk\bin\win32\Window.class
文件 865400 2013-03-20 20:22 llk\jna-3.3.0.jar
文件 2720 2013-03-21 11:37 llk\src\llk\BMP.java
文件 3776 2013-03-21 01:31 llk\src\llk\DepthFirst.java
文件 359 2013-03-21 01:13 llk\src\llk\Fangkuai.java
文件 483 2013-03-21 01:27 llk\src\llk\FkSet.java
文件 1869 2013-03-21 11:48 llk\src\llk\Lianlk.java
文件 351 2013-03-20 17:05 llk\src\llk\Point.java
文件 285 2013-03-20 22:41 llk\src\win32\Mouse.java
文件 133 2013-03-20 21:51 llk\src\win32\Point.java
文件 188 2013-03-20 22:40 llk\src\win32\Rect.java
文件 348 2013-03-20 22:41 llk\src\win32\User32.java
文件 748 2013-03-21 01:40 llk\src\win32\Window.java
目录 0 2013-03-21 11:50 llk\bin\llk
目录 0 2013-03-21 11:50 llk\bin\win32
目录 0 2013-03-21 11:50 llk\src\llk
目录 0 2013-03-21 11:50 llk\src\win32
............此处省略7个文件信息
相关资源
- 轻量级JavaEE企业应用实战第5版 光盘
- 深入体验Java+Web开发内幕-高级特性.
- 深入分析Java Web技术内幕修订版完整版
- adaboost java 实现
- 超强SWING JAVA固定资产管理系统
- 轻量级Java EE企业应用实战第4版光盘
- java游戏之坦克大战
- java版教材管理系统源码.zip
- 深入分析Java Web技术内幕 修订版PD
- java大鱼吃小鱼.zip
- 一款基于 JAVA WEB 的开源问卷表单系统
- JAVA 网上超市购物结算功能模拟 福州
- 大工软院大二姜国海小学期-第二次作
- Java学生信息管理系统(有界面、有数
- Java模拟操作系统实验之四种进程调度
- java+sql源代码信用卡管理系统
- java web 教务系统
- Java电子商城项目
- 大鱼吃小鱼代码Java
- JAVA图书管理系统源代码59127
- 利用java实现接宝游戏设计
- 驾校管理系统课程设计JAVA
- JAVA课程设计驾校管理系统
- JAVA+Swing坦克大战
- JavaOOP内测
- java开发的飞机大战项目
- Java代码万年历编写
- JavaSE酒店管理系统+系统文档
- java习题练习很简单很基础很有必要学
- 《JAVA语言程序设计》期末考试试题及
评论
共有 条评论