使用Java等比例缩放图像
本文为原创,如需转载,请注明作者和出处,谢谢!
缩放图像的基本原理是创建一个目标大小的画布,然后读取源图像,并将该图像绘制这个画布上。为了使程序通用,源图像和缩放后的目标图像应用分别使用
InputStream和OutputStream来表示,代码如下:
public
static
void
scaleImage(InputStream imgInputStream,
OutputStream imgOutputStream,
int
scale)
{
try
{
Image src
=
javax.imageio.ImageIO.read(imgInputStream);
int
width
=
(
int
) (src.getWidth(
null
)
*
scale
/
100.0
);
int
height
=
(
int
) (src.getHeight(
null
)
*
scale
/
100.0
);
BufferedImage bufferedImage
=
new
BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
bufferedImage.getGraphics().drawImage(
src.getScaledInstance(width, height, Image.SCALE_SMOOTH),
0
,
0
,
null
);
&nb
相关文档:
封装:就是把类的属性和方法实现封装起来,使用户或对象实例看不到具体的方法实现代码和私有属性。
封装的实现方式是接口和访问修饰符。接口只公开类的方法,具体的方法实现是由实现该接口的类完成的,由于接口可以动态绑定,所以通过声明接口和实例化继承的类时调用相关的类的方法。
而另一种实现封装的方式是访问修饰符 ......
package search;
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* 读取目录及子目录下指定文件名的路径 并放到一个数组里面返回遍历
*
*
*/
public class FileViewer {
public static void search(String path, String[] Extention, boolean isdepth, ......
Lombok是一种JavaArchive(JAR)文件,可用来消除Java代码的冗长。通过在开发环境中实现Lombok,开发人员可以节省构建诸如hashCode()和equals()这样的方法以及以往用来分类各种accessor和mutator的大量时间。
我们看这样一个例子,一个标准的Javabean。一个典型的Javabean一般具有几个属性。每个属性具有一个accessor和mutat ......
JAVA中用于处理字符串的“三兄弟”
JAVA中用于处理字符串常用的有三个类:java.lang.String、java.lang.StringBuffer、java.lang.StringBuilder,这三者的共同之处都是final类,不允许被继承,这主要是从性能和安全性上考虑的,因为这几个类都是经常被使用着的,且考虑到防止其中的参数被修改影响到其它的应用。 ......
Java创始人詹姆斯·高斯林(James Gosling)日前在博客中称,已经在4月2日从甲骨文(Oracle)退休。很多人的第一反应是,他是否会投奔微软、Google之类的公司呢?不过Gosling表示目前还没有进一步打算。
关于离职的具体原因,高斯林没有透露。只是在博客中写道:“是的,那些传言都是真的:我已经在一周前(4 ......