简单的java图像裁减
/**
* 对图片裁剪,并把裁剪完蛋新图片保存 。
*
* @param srcpath: 被裁减的图片完整路径
* @param tarpath: 已裁减的新图片保存完整的路径
* @param x: 裁减矩形区域左上顶点水平位移
* @param y: 裁减矩形区域左上顶点垂直位移
* @param width: 裁减矩形区域的宽度
* @param height: 裁减矩形区域的高度
*/
public static void cut(String srcpath, String tarpath, int x, int y, int width, int height) {
try {
// 读取图片文件
FileInputStream is = new FileInputStream(srcpath);
// 获取图片流
ImageInputStream iis = ImageIO.createImageInputStream(is);
// 转化成输出流
BufferedImage outputImage = getSubimage(ImageIO.read(iis), x, y, width, height);
// 保存新图片
if (null != outputImage) {
ImageIO.write(outputImage, "jpg", new File(tarpath));
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static BufferedImage getSubimage(BufferedImage inputImage, int x, int y, int width, int height) {
return getSubimage(inputImage, new Rectangle(x, y, width, height));
}
public static BufferedImage getSubimage(BufferedImage inputImage, Rectangle rect) {
if (rect.x < 1 || rect.y < 1 || rect.x > inputImage.getWidth() || rect.y > inputImage.getHeight()) {
return null;
}
int x = Math.min(inputImage.getWidth(), rect.x);
int y = Math.min(inputImage.getHeight(), rect.y);
int width = Math.min(inputImage.getWidth() - x, rect.width);
int height = Math.min(inputImage.getHeight() - y, rect.height);
return inputImage.getSubimage(x, y, width, height);
}
相关文档:
日期和时间的处理不仅在面试题中会考到,在实际项目开发中也是我们经常需要处理的问题,似乎没有哪个项目可以避开它们,我们常常在处理用户的出生年月日、注册日期,订单的创建时间等属性时用到,由此可见其重要性。
java.util.Date类
提
到日期和时间,我想大家最先想到应该是java.util.Date类吧。Date类可以精确到 ......
serialVersionUID 用来表明类的不同版本间的兼容性
简单来说,Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体(类)的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列 ......
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
public class TestDesktop {
public static void main(String[] a) {
try {
Desktop desktop = null;
if (Desktop.isDesktopSupported()) {
desktop = Desktop.getDesktop();
}
desktop.open(new File("/hom ......
JAVA 中URL链接中文参数乱码的若干处理方法,现在整理收录如下:
方法一:
http://xxx.do?ptname='我是中国人'
String strPtname = request.getParameter("ptname");
strPtname = new String(strPtname.getBytes("ISO-8859-1"), "UTF-8");
方法二:
<%@ page contentTy ......
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行 ......