java 拼图博客_Java小项目之:拼图游戏!

Java小项目之:拼图游戏!

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

所用素材:

6c31049867d10729a9484ba08a9934dd.png

部分代码:

a77d8f042992905d7479071113866c2f.png

cfa740e8d30ccc80096ad0622f1a8748.png

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();

}

}

}

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值