Java小项目之:拼图游戏!

今天教大家用java做出一个拼图游戏,很适合java初学者练手。

所用素材:

部分代码:

package picture_mosical;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Toolkit;

import java.awt.image.BufferedImage;

import java.awt.image.CropImageFilter;

import java.awt.image.FilteredImageSource;

import java.awt.image.ImageFilter;

import java.io.File;

import javax.imageio.ImageIO;

public class PictureCut {

private static int width;// 切割后图片的宽度

private static int height;// 切割后图片的高度

private static String dir_name = "/CutImage";// 存放图片的文件夹名称

public static void cut(String paths, int rows, int cols, String dir)

throws Exception {

Image img;

ImageFilter new_if;//fasf你的

BufferedImage bi = ImageIO.read(new File(paths));// 读取图像源

if (bi == null) {

System.out.println("图像源为空");

return;

}

int baseWidth = bi.getWidth();// 读取图像源的宽度

int baseHeight = bi.getHeight();// 读取图像源的高度

width = baseWidth / cols;// 切割后图片的宽

height = baseHeight / rows;// 切割后图片的高

System.out.println("width:" + width + "\t\theight:" + height);

System.err.println("切割的行数=[" + rows + "]\n切割的列数=[" + cols + "]");

Image image = bi.getScaledInstance(baseWidth, baseHeight,

Image.SCALE_DEFAULT);

BufferedImage bimg;

File file;

int x = 0, y = 0;

int index = 0;

// 开始对图像源进行切割

long s = Math.round(Math.random() * 8);

System.out.println(s + ">>>>>>>>>>>>>>>");

boolean flag = true;

for (int i = 0; i < rows; i++) {

y = (int) (i * height);

for (int j = 0; j < cols; j++) {

if (index == 8) {

index=9;

new_if = new CropImageFilter(0, 0, baseWidth, baseHeight);

width=baseWidth;

height=baseHeight;

}else{

x = (int) (j * width);

new_if = new CropImageFilter(x, y, width, height);

}

img = Toolkit.getDefaultToolkit().createImage(

new FilteredImageSource(image.getSource(), new_if));

bimg = new BufferedImage(width, height,

BufferedImage.TYPE_INT_RGB);

Graphics gi = bimg.getGraphics();

gi.drawImage(img, 0, 0, null);

gi.dispose();

file = new File(dir + index + ".jpg");

ImageIO.write(bimg, "JPEG", file);

index++;

}

}

}

public static void main(String[] args) {

try {

PictureCut.cut("src/picture_mosical/123.jpg", 3, 3,

"WebRoot/images/");

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

篇幅有限,展示不了所有代码,需要素材和源码的可以私信我领取!

喜欢这样文章的可以关注我,我会持续更新更多小项目。你们的关注是我更新的动力!

祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早生贵子,从不掉发!

java 拼图游戏_Java小项目之:拼图游戏!相关推荐

  1. java 迷宫游戏_Java小项目之迷宫游戏的实现方法

    项目要求: 一个网格迷宫由n行n列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示),你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格.任何时候都不能在有 ...

  2. java课设小迷宫含代码_Java小项目之迷宫游戏的实现方法

    项目要求: 一个网格迷宫由n行n列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示),你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格.任何时候都不能在有 ...

  3. java植物僵尸_Java小项目之:植物大战僵尸,这个僵尸不太冷!内附素材

    Java小项目之:植物大战僵尸! <植物大战僵尸>是由PopCap Games开发的一款益智策略类单机游戏,于2009年5月5日发售,这款游戏可谓是无人不知无人不晓. 在我身边,上到40岁 ...

  4. java课程设计纸牌游戏_java练习项目之纸牌游戏实例源码

    java应用练习项目之纸牌游戏实例源码.java纸牌项目练习题目要求: 定义纸牌的花色 定义纸牌的大小2A 花色与数字组成一张牌 组成一整副纸牌 构造玩家 发牌 题目 : 创建一副扑克牌,这副牌是标准 ...

  5. java五子棋难度_Java小项目之:五子棋,你下棋下得过电脑吗?

    Java小项目之:五子棋,你下棋下得过电脑吗? Java五子棋功能要求: 1.创建窗口和设计一个棋盘界面 2.实现鼠标点击,棋子出现,黑白棋轮流下 3.能够判断五子相连输赢 4.添加重新开始,悔棋,退 ...

  6. mysql拼图游戏代码_Java小项目之拼图游戏

    首先声明,代码是自创的,如有雷同,不胜荣幸! 先谈谈思路: 1.设计界面. 2.素材的处理. 3.设计图片加载区域的图片加载处理类. 4.设计按钮组中的按钮初始化方法. 5.设计按钮组中的随机图片加载 ...

  7. 植物大战僵尸java版视频_Java小项目之:植物大战僵尸,这个僵尸不太冷!

    植物卡片框 */ public class PlantsBar implements GuiConstnat { // 卡片格子数量 private int plantSum; // 太阳数量和卡片选 ...

  8. python五子棋游戏_python小项目之五子棋游戏

    本文实例为大家分享了python五子棋游戏的具体代码,供大家参考,具体内容如下 1.项目简介 在刚刚学习完python套接字的时候做的一个五子棋小游戏,可以在局域网内双人对战,也可以和电脑对战 2.实 ...

  9. 【Java速成教学】桌球游戏项目_教你用最短的时间开发桌球小游戏_Java初学者项目

    Java小游戏项目回归!今天给大家带来的是桌球游戏~ 本课程面向刚入门或者有一定Java基础的人群,帮助学员理解面向对象编程,并将基础知识进行实际应用,最终目标为开发出一个功能强大的桌球游戏.[Jav ...

最新文章

  1. 目标检测中的数据格式转换工具Roboflow
  2. python字典作业_python第一天作业:字典
  3. [HEOI2015] 兔子与樱花
  4. 【Android工具】更新安卓手机传感器信息获取工具Ampere Castro phyphox,轻松获取硬件数据和状态信息...
  5. jupyter代码字体大小_Jupyter notebook设置背景主题,字体大小及自动补全代码的操作...
  6. c语言match,LeetCode第10题: isMatch(C语言)
  7. typescript get方法_使用 Typescript 构建类型安全的 Websocket 应用
  8. MSSQL-最佳实践-Always Encrypted
  9. 计算机网络与通信02339,4月全国高等教育自学考试计算机网络与通信试题及答案解析.docx...
  10. php post fsockopen,php_fsockopen_post
  11. mysql二进制日志的开启和使用
  12. [20171206]位图区一定在数据文件开头吗.txt
  13. Process Explorer 诊断和排错实例(下)
  14. 在centos7中安装flutter,执行flutter --version时显示flutter的版本为v0.0.0 unknown
  15. linux 内核同步机制之complete
  16. 外贸软件进口业务流程管理方案
  17. 工具:Spy++ —— 窗口、消息查看分析利器
  18. python socketserver实现tcp post,get请求
  19. layui调用相册功能和点击按钮调用相册功能
  20. 论文阅读:LinkNet: Exploiting Encoder Representations forEfficient Semantic Segmentation

热门文章

  1. R语言Excel的读写
  2. 全新2022强大的趣味心理测试小程序源码,趣味测试引流裂变神器,流量主激励广告实现管道收益
  3. 大学物理——原子间相互作用力
  4. 基金、社保和QFII等机构的重仓股排名评测
  5. python项目开发案例精粹-Python金融实战案例精粹
  6. spring context:property-placeholder无法加载配置文件,导致属性无效
  7. 2个JS版的MD5加密脚本
  8. 恶搞版西游记,99%的人看完后当场含笑而死
  9. 金海佳学C++primer 练习9.14
  10. dlink网络打印服务器如何修改ip地址,DLINK路由器如何更改登陆IP地址