/**
* 改变图片的大小
*
* @param source
* 源文件
* @param targetW
* 目标长
* @param targetH
* 目标宽
* @return
* @throws IOException
*/
public static BufferedImage resize(BufferedImage source, int targetW, int targetH) throws IOException
{
int type = source.getType();
BufferedImage target = null;
double sx = (double) targetW / source.getWidth();
double sy = (double) targetH / source.getHeight();
// 这里想实现在targetW,targetH范围内实现等比缩放。如果不需要等比缩放
// 则将下面的if else语句注释即可
if (sx > sy)
{
sx = sy;
targetW = (int) (sx * source.getWidth());
}
else
{
sy = sx;
targetH = (int) (sy * source.getHeight());
}
if (type == BufferedImage.TYPE_CUSTOM)
{ // handmade
ColorModel cm = source.getColorModel();
WritableRaster raster = cm.createCompatibleWritableRaster(targetW,
targetH);
boolean alphaPremultiplied = cm.isAlphaPremultiplied();
target = new BufferedImage(cm, raster, alphaPremultiplied, null);
}
else
{
//固定宽高,宽高一定要比原图片大
//target = new BufferedImage(targetW, targetH, type);
target = new BufferedImage(800, 600, type);
}
Graphics2D g = target.createGraphics();
//写入背景
g.drawImage(ImageIO.read(new File("ok/blank.png")), 0, 0, null);
// smoother than exlax:
g.setRenderingHint(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
g.drawRenderedImage(source, AffineTransform.getScaleInstance(sx, sy));
g.dispose();
return target;
}
public static void main(String[] args) throws IOException
{
ImgUtil iu = new ImgUtil();
BufferedImage image = ImageIO.read(new File("ok/1111661748321.jpg"));
image = iu.resize(image, 512, 512);
ImageIO.write(image, "png", new FileOutputStream("ok/test.JPG"));
}
分享到:
相关推荐
②利用Opencv改变图片的分辨率(默认是缩小为原来一般的分辨率)并显示在mfc对话框一个图片控件中。 ③保存。对话框有一个保存按钮。用于保存更改了分辨率之后的图片。(对于更改了之后的图片。又可以再次执行相同的...
struts2 上传 java 图片水印 改变图片大小
改变图片大小器Reshade改变图片大小器Reshade改变图片大小器Reshade改变图片大小器Reshade改变图片大小器Reshade
通过使用javascript的jquery,在图片上滚动鼠标滚轮图片大小改变
C#通过拖拉滚动条的位置改变图片的大小,图片是位于ImageBox中,想知道c#动态改变图片大小的朋友,可以参考一下本程序,也不是太复杂,对你有一定帮助。源程序在VS2005中顺利编译,运行效果如上图示。
使用两中方法进行压缩,可以只改变图片大小,如,原图片100kb,压缩后变成40kb。并且不改变宽高。 一.使用ImageMagick进行压缩类-Aa.java 需要做以下配置: 1.将jmagick.dll加入jdk\bin目录中 2.将jmagick.dll加入到...
改变图片大小phototoys
Java提取EXCEL图片重命名并改变像素大小项目源代码, Java提取EXCEL图片重命名并改变像素大小, Java提取EXCEL图片重命名并改变像素大小
图片大小编辑器 图片大小编辑器 图片大小编辑器 图片大小编辑器
鼠标悬停改变图片大小。鼠标悬停在图片上,可以实现改变图片的大小效果。
怎么改变图片大小,改变图片大小的5种方法.docx
修改MFC中Button控件控件字体、字体大小、背景色、背景图片,主要方法采用需要通过button类派生Mybutton类,然后重载其中DrawItem函数
应用此程序可以对图片实现缩放,使其大小任意改变。在网上报名考试中,很多时候要用到个人免冠正面照,并要求有标准尺寸,已经安装java的朋友就不需要使用photoshop这么复杂的工具了,直接使用此程序处理图片即可!
MFC替换背景图片
1.资源简介:Python利用PIL Image可以调整图片尺寸(宽度和高度)、图片大小和转换图片格式,Python利用removebg可以改变图片背景、透明化处理。 2.特点:简单方便、快速。 3.适用人群:想学习Python处理图片的初学...
批量改变图片大小
vb.net鼠标滑过改变图片大小和内容
背景图片切换,跟上窗口大小改变,兼容多个游览器
主要为大家详细介绍了java处理图片背景颜色的方法,蓝底寸照批量转换为白底,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
可以实现改变图片的大小,对于学习bmp图片大小改变的人有一定的帮助的