- 浏览: 442552 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (355)
- Java (180)
- Jquery (18)
- Js (27)
- Mysql (3)
- Windows (6)
- C++ (1)
- Css (9)
- English (35)
- Sqlserver (1)
- Database (3)
- Git (1)
- Linux (5)
- Solr (1)
- Fun (5)
- C (2)
- Test (1)
- Math (2)
- Nlp (8)
- Algorithm (7)
- Regex (9)
- Other (5)
- Html (8)
- ASP (4)
- Access (2)
- Servlet (1)
- Lucene (3)
- Uml (2)
- Struts (19)
- Hibernate (5)
- Jstl (1)
- El (1)
- Python (1)
- SSH (2)
- Spring (1)
- Tomcat (4)
- Jsp (2)
- SE (1)
- Android (2)
- Excel (1)
- Ehcache (1)
- Flash (1)
- Pattern (1)
- Hadoop (1)
最新评论
-
huguyue1988:
怎么样可以判断访问的音乐加载完成了呢?我的界面要加载多个这个的 ...
jPlayer的一些用法 -
永不悔你:
[color=yellow][/c[*][img][/img] ...
MyEclipse 9.0运行速度优化 -
tianyalinfeng:
这个教程里都有吧
jquery 筛选器 -
mengfei86:
你太牛了,我找了半天的问题,你一句代码搞定了,谢了,id^, ...
jquery 筛选器
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.util.HashMap;
import java.util.List;
import java.util.ArrayList;
import java.io.File;
import java.io.IOException;
import java.io.FileOutputStream;
import java.util.Map;
public class ImageResizer {
/**
*
* @param im
* 原始图像
*
* @param resizeTimes
* 需要缩小的倍数,缩小2倍为原来的1/2 ,这个数值越大,返回的图片越小
*
* @return 返回处理后的图像
*
*/
public BufferedImage resizeImage(BufferedImage im, float resizeTimes) {
/* 原始图像的宽度和高度 */
int width = im.getWidth();
int height = im.getHeight();
/* 调整后的图片的宽度和高度 */
int toWidth = (int) (Float.parseFloat(String.valueOf(width)) / resizeTimes);
int toHeight = (int) (Float.parseFloat(String.valueOf(height)) / resizeTimes);
/* 新生成结果图片 */
BufferedImage result = new BufferedImage(toWidth, toHeight,
BufferedImage.TYPE_INT_RGB);
result.getGraphics().drawImage(
im.getScaledInstance(toWidth, toHeight,
java.awt.Image.SCALE_SMOOTH), 0, 0, null);
return result;
}
/**
*
* @param im
* 原始图像
*
* @param resizeTimes
* 倍数,比如0.5就是缩小一半,0.98等等double类型
*
* @return 返回处理后的图像
*
*/
public BufferedImage zoomImage(BufferedImage im, float resizeTimes) {
/* 原始图像的宽度和高度 */
int width = im.getWidth();
int height = im.getHeight();
/* 调整后的图片的宽度和高度 */
int toWidth = (int) (Float.parseFloat(String.valueOf(width)) * resizeTimes);
int toHeight = (int) (Float.parseFloat(String.valueOf(height)) * resizeTimes);
/* 新生成结果图片 */
BufferedImage result = new BufferedImage(toWidth, toHeight,
BufferedImage.TYPE_INT_RGB);
result.getGraphics().drawImage(
im.getScaledInstance(toWidth, toHeight,
java.awt.Image.SCALE_SMOOTH), 0, 0, null);
return result;
}
/**
*
* @param path
* 要转化的图像的文件夹,就是存放图像的文件夹路径
*
* @param type
* 图片的后缀名组成的数组
*
* @return
*
*/
public List<BufferedImage> getImageList(String path, String[] type)
throws IOException {
Map<String, Boolean> map = new HashMap<String, Boolean>();
for (String s : type) {
map.put(s, true);
}
List<BufferedImage> result = new ArrayList<BufferedImage>();
File[] fileList = new File(path).listFiles();
for (File f : fileList) {
if (f.length() == 0)
continue;
if (map.get(getExtension(f.getName())) == null)
continue;
result.add(javax.imageio.ImageIO.read(f));
}
return result;
}
/**
*
* 把图片写到磁盘上
*
* @param im
*
* @param path
* eg: C://home// 图片写入的文件夹地址
*
* @param fileName
* DCM1987.jpg 写入图片的名字
*
* @return
*
*/
public boolean writeToDisk(BufferedImage im, String path, String fileName) {
File f = new File(path + fileName);
String fileType = getExtension(fileName);
if (fileType == null)
return false;
try {
ImageIO.write(im, fileType, f);
im.flush();
return true;
} catch (IOException e) {
return false;
}
}
public boolean writeHighQuality(BufferedImage im, String fileFullPath) {
try {
/* 输出到文件流 */
FileOutputStream newimage = new FileOutputStream(fileFullPath
+ System.currentTimeMillis() + ".jpg");
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);
JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(im);
/* 压缩质量 */
jep.setQuality(1f, true);
encoder.encode(im, jep);
/* 近JPEG编码 */
newimage.close();
return true;
} catch (Exception e) {
return false;
}
}
/**
*
* 返回文件的文件后缀名
*
* @param fileName
*
* @return
*
*/
public String getExtension(String fileName) {
try {
return fileName.split("\\.")[fileName.split("\\.").length - 1];
} catch (Exception e) {
return null;
}
}
public static void main(String[] args) throws Exception {
/* 这儿填写你存放要缩小图片的文件夹全地址 */
String inputFoler = "c:\\cameraImage";
/* 这儿填写你转化后的图片存放的文件夹 */
String outputFolder = "c:\\output\\";
float times = 0.5f;
/* 这个参数是要转化成的倍数,如果是1就是转化成1倍 */
ImageResizer r = new ImageResizer();
List<BufferedImage> imageList = r.getImageList(inputFoler,
new String[] { "jpg" });
for (BufferedImage i : imageList) {
r.writeHighQuality(r.zoomImage(i, times), outputFolder);
}
}
}
发表评论
-
新博开启
2013-10-17 11:29 602天涯临枫:http://www.tianyalinfeng ... -
使用FileUtils获取文件夹下所有指定文件
2013-09-23 11:42 1516org.apache.commons.io.FileUt ... -
hibernate去重复数据
2013-09-21 19:16 862DetachedCriteria dc = Detached ... -
ckeditor简单应用
2013-09-13 11:35 802准备 ckeditor前端源码ckeditor_4.2_f ... -
深度复制
2013-09-11 16:50 693浅复制:将一个对象复制后,基本数据类型的变量都会重新创建,而 ... -
Java的23中设计模式
2013-09-10 14:59 1104Java的23中设计模式 从这一块开始,我们详细介绍Jav ... -
设计模式的六大原则
2013-09-10 14:51 838设计模式的六大原则 1、开闭原则(Open Close ... -
heritrix-3.1.1简单使用
2013-09-06 16:43 9021.下载heritrix-3.1.1-dist.zip(此 ... -
web程序禁止访问指定文件
2013-09-04 13:26 727在web.xml中添加如下代码: <security ... -
iframe里取不到struts2 action里的值
2013-08-06 11:23 1131struts action里的属性值正常都是存放在reque ... -
struts2使用UrlRewriteFilter时报错
2013-07-29 11:18 627struts2使用UrlRewriteFilter时报错 ... -
java正则去掉所有html标签
2013-07-02 14:40 861public static String trimHtml( ... -
java类中获取classes文件夹路径
2013-07-02 14:20 987例如:Test.java 在Test中获取项目classe ... -
Ehcache配置
2013-07-01 15:41 816<defaultCache ... -
jsp中 <%! %> 和 <% %> 的区别
2013-05-22 15:35 577<%! int a = 0; %> 当js ... -
用递归实现查找最大值
2013-05-14 11:42 526private static int recursiveM ... -
常用正则表达式
2013-05-07 16:11 476/** * check mobile phone num ... -
中文转拼音
2013-05-02 15:35 431import net.sourceforge.pinyin4 ... -
java获取某一年某个节气日期
2013-04-27 15:43 1863private static String[] solar ... -
公历农历互相转换
2013-04-26 10:08 1022public class CalendarUtil { / ...
相关推荐
2. **图片缩放**:类库提供了多种缩放模式,如: - **裁切缩放模式**:根据预设的宽高比例,裁剪原始图片以适应目标尺寸,保持原图的纵横比。 - **比例缩放模式**:按照指定的比例调整图片大小,保持原图的纵横比...
总结一下,"js图片缩放效果制作鼠标滚动图片等比例缩放"涉及到的技术点有: 1. JavaScript事件监听:监听鼠标的滚轮事件。 2. CSS3变换:使用`transform`属性进行等比例缩放。 3. 计算缩放比例:根据滚动的增量和...
在Qt框架中,图片缩放是一项常见的图像处理任务,它涉及到图形用户界面(GUI)的开发,特别是当我们要展示或操作图像时。Qt提供了一系列的类和方法来帮助开发者实现这个功能。以下将详细介绍如何使用Qt来实现图片的...
这个名为"Android-一个Android图片缩放查看控件支持手势"的项目,旨在提供一个自定义的视图控件,它允许用户通过手势进行图片的放大、缩小以及平移操作,提升用户体验。下面我们将深入探讨这个控件的关键知识点和...
在实现图片缩放和滑动时,我们需要利用这一点来确保流畅的用户体验。 1. **SurfaceView的创建与初始化**: 在布局文件中添加SurfaceView,并在Activity的onCreate()方法中找到并初始化它。设置SurfaceHolder的回调...
在本文中,我们将深入探讨如何使用MFC(Microsoft Foundation Class Library)进行图片缩放操作,特别是在将图片缩放以适应背景上的应用场景。MFC是微软为Windows开发的应用程序提供的一套C++类库,它极大地简化了...
在Authorware这个强大的多媒体创作工具中,图片缩放是一个常用的操作,它可以帮助用户根据需要调整图像的大小,适应不同的展示需求。以下将详细介绍如何在Authorware中进行图片缩放以及相关的知识点。 一、...
在图像处理领域,图片缩放是一项常见的操作,用于调整图像的尺寸以适应不同的显示或分析需求。本压缩包“matlab图片缩放代码.zip”提供了一组MATLAB代码,包括最近邻插值(singlelineal.m)、双线性插值(double.m)...
在网页设计中,图片缩放和拖动是增强用户体验的重要功能。用户可以通过这些交互操作来更细致地查看图片,尤其对于细节丰富的图像或者高分辨率的图片来说,这种功能显得尤为重要。下面将详细介绍如何实现“页面中图片...
**imageQ图片缩放拖拽jQuery小插件详解** 在网页设计中,用户交互体验是至关重要的,而图片作为网页内容的重要组成部分,如何提供便捷、直观的操控方式以提升用户体验呢?`imageQ`就是这样一款基于jQuery的插件,它...
本实例"jq图片缩放与拖动"是基于jQuery实现的一个功能,允许用户对图片进行缩放和拖动操作,提高了网页的交互性和用户体验。 首先,我们来看"jq图片缩放与拖动"的核心技术点: 1. **jQuery选择器**:jQuery提供了...
在C#编程环境中,开发一个图片缩放和移动程序是一项常见的任务,特别是在图形用户界面(GUI)应用中。本程序是在.NET Framework 3.5环境下构建的,这意味着它利用了该框架提供的丰富的类库和功能。尽管如此,由于C#...
【图片缩放算法原理】 图片缩放是计算机图形学中常见的操作,用于调整图像的尺寸,使其适应不同的显示需求。图像缩放分为放大和缩小,通常涉及到像素级别的处理。这里我们将探讨一种常用的图像缩放算法——双线性内...
本文将深入探讨如何在Android中实现ImageView的图片缩放功能,同时结合异步加载和Activity的半透明效果,提升用户体验。 首先,我们要理解Android中ImageView的基本用法。ImageView可以设置为固定大小或根据图片...
在本文中,我们将深入探讨如何使用C# Winform开发一个支持触摸屏的图片缩放应用程序。这个项目的核心技术包括RegisterTouchWindow的使用、控件的子类化以及自定义消息处理,以及通过触摸手势实现图片的等比例缩放。...
C#图片缩放,使用Bitmap的方式,可以将图片按比例缩放,也可以设定固定大小
在Qt框架下,图片缩放是一项常见的功能,尤其在图形用户界面(GUI)应用中,如图像查看器或编辑器。本项目利用Qt 5.3.2版本实现了这一功能,支持通过滚轮和按键进行图片的放大与缩小,同时具备复位和切换图片的能力...
下面我们将深入探讨jQuery图片缩放的原理、实现方式以及相关知识点。 首先,我们需要理解jQuery的基本用法。jQuery通过$符号作为函数调用,用于选择DOM元素。例如,`$('img')`会选择所有的图片元素。选择器可以是ID...
在IT领域,图片缩放是一项常见的图像处理任务,它涉及到图像的分辨率调整、尺寸变换以及保持图像质量等关键因素。本文将深入探讨关于图片缩放的若干问题及其解决方案。 首先,我们要理解图片缩放的基本原理。图片是...
本文将详细讲解如何使用Flex创建一个图片缩放移动组件,以及涉及的相关知识点。 首先,我们要理解Flex中的核心组件体系,它包括容器(Container)、基本组件(Basic Components)和自定义组件(Custom Components)...