使用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
相关文档:
一。谁在做Garbage Collection?
一种流行的说法:在C++
里,是系统在做垃圾回收;而在Java
里,是Java
自身在做。
在C++
里,
释放内存是手动处理的,要用delete运算符来释放分配的内存。这是流行的说法。确切地说,是应用认为不需要某实体时,就需用delete告诉系统,可
以 ......
1. 概念: 序列化就是把对象变成对象流(确切说是把对象的属性写入流),如果需要进而可以把对象流存成二进制文件;
2. 目的: 序列化的目的是为了方便永久存储或者网络传输;
3. 如何实现: 将类实现Serializable接口即可,无必须实现的方法,实现该接口只是为了标识该类可被序列化;
4. (转)其他需要知道的:
  ......
众所周知,在Java多线程编程中,一个非常重要的方面就是线程的同步问题。
关于线程的同步,一般有以下解决方法:
1. 在需要同步的方法的方法签名中加入synchronized关键字。
转载注明出处:http://x- spirit.javaeye.com/、http: //www.blogjava.net/zhangwei217245/
2. 使用synchronized块对需要进行同步的代码段进行 ......
import java.util.ArrayList;
import java.util.HashMap;
public class Client {
/**
* @param args
*/
public static void main(String[] args) {
test1();
System.out.println("==================================");
test2();
......