- 浏览: 5819972 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
原文地址:http://blog.csdn.net/lql876381722/archive/2008/03/21/2203512.aspx
总体思想:
1.前台网页用js得到裁剪图片的id及x,y,宽度和高度。
2.服务端根据id取出要裁剪的图片 。
3.根据这些参数来生成裁剪的图像。
总体思想:
1.前台网页用js得到裁剪图片的id及x,y,宽度和高度。
2.服务端根据id取出要裁剪的图片 。
3.根据这些参数来生成裁剪的图像。
package com.wodexiangce; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Iterator; import javax.imageio.ImageIO; import javax.imageio.ImageReadParam; import javax.imageio.ImageReader; import javax.imageio.stream.ImageInputStream; /** * * * @author <a href="mailto:lqinglong@yahoo.cn">qinglong.lu</a> * * 2008-3-21 */ public class OperateImage { // ===源图片路径名称如:c:\1.jpg private String srcpath ; // ===剪切图片存放路径名称.如:c:\2.jpg private String subpath ; // ===剪切点x坐标 private int x ; private int y ; // ===剪切点宽度 private int width ; private int height ; public OperateImage() { } public OperateImage( int x, int y, int width, int height) { this .x = x ; this .y = y ; this .width = width ; this .height = height ; } /** * 对图片裁剪,并把裁剪完蛋新图片保存 。 */ public void cut() throws IOException { FileInputStream is = null ; ImageInputStream iis = null ; try { // 读取图片文件 is = new FileInputStream(srcpath); /* * 返回包含所有当前已注册 ImageReader 的 Iterator,这些 ImageReader * 声称能够解码指定格式。 参数:formatName - 包含非正式格式名称 . *(例如 "jpeg" 或 "tiff")等 。 */ Iterator < ImageReader > it = ImageIO.getImageReadersByFormatName( " jpg " ); ImageReader reader = it.next(); // 获取图片流 iis = ImageIO.createImageInputStream(is); /* * <p>iis:读取源.true:只向前搜索 </p>.将它标记为 ‘只向前搜索’。 * 此设置意味着包含在输入源中的图像将只按顺序读取,可能允许 reader * 避免缓存包含与以前已经读取的图像关联的数据的那些输入部分。 */ reader.setInput(iis, true ) ; /* * <p>描述如何对流进行解码的类<p>.用于指定如何在输入时从 Java Image I/O * 框架的上下文中的流转换一幅图像或一组图像。用于特定图像格式的插件 * 将从其 ImageReader 实现的 getDefaultReadParam 方法中返回 * ImageReadParam 的实例。 */ ImageReadParam param = reader.getDefaultReadParam(); /* * 图片裁剪区域。Rectangle 指定了坐标空间中的一个区域,通过 Rectangle 对象 * 的左上顶点的坐标(x,y)、宽度和高度可以定义这个区域。 */ Rectangle rect = new Rectangle(x, y, width, height); // 提供一个 BufferedImage,将其用作解码像素数据的目标。 param.setSourceRegion(rect); /* * 使用所提供的 ImageReadParam 读取通过索引 imageIndex 指定的对象,并将 * 它作为一个完整的 BufferedImage 返回。 */ BufferedImage bi = reader.read( 0 ,param); // 保存新图片 ImageIO.write(bi, " jpg " , new File(subpath)); } finally { if (is != null ) is.close() ; if (iis != null ) iis.close(); } } public int getHeight() { return height; } public void setHeight( int height) { this .height = height; } public String getSrcpath() { return srcpath; } public void setSrcpath(String srcpath) { this .srcpath = srcpath; } public String getSubpath() { return subpath; } public void setSubpath(String subpath) { this .subpath = subpath; } public int getWidth() { return width; } public void setWidth( int width) { this .width = width; } public int getX() { return x; } public void setX( int x) { this .x = x; } public int getY() { return y; } public void setY( int y) { this .y = y; } public static void main(String[] args) throws Exception { String name = " d:\2005121210161588950.jpg " ; OperateImage o = new OperateImage( 100 , 100 , 100 , 100 ); o.setSrcpath(name); o.setSubpath( " D:\2.jpg " ); o.cut() ; } }
发表评论
-
JDK中有关23个经典设计模式
2011-09-27 22:42 2038看原文吧,清楚些: http://www.iteye.com/ ... -
java生成jar压缩包并运行
2011-07-23 19:01 3109原帖: http://ankye1234.blog.163.c ... -
Android开发之Java集合类性能分析
2011-04-02 19:46 6970对于Android开发者来说深入了解Java的集合类很有必要主 ... -
一些Java经典算法
2010-09-10 16:38 2922package com.worthtech.app.uti ... -
java给图片加上水印
2010-07-02 14:08 1954package com.langhua.ImageUtil ... -
htmlparser API
2010-07-02 14:03 13119htmlparser所有的filter htmlpar ... -
使用dom4j的xPath解析XML
2010-06-30 15:04 21072books.xml: <?xml version=&qu ... -
UUID生成随机编号(适用于数字字母混编)
2010-03-10 16:35 7166UUID(Universally Unique Identif ... -
Java忽略大小写替换和提取字符信息
2009-12-01 09:27 46541. replaceAll 不区分大小写替换字符: Str ... -
Java生成高品质缩略图
2009-12-01 09:14 3150import java.awt.image.Buffere ... -
FileReader读取中文txt文件编码丢失问题(乱码)
2009-11-19 16:06 25797有一个UTF-8编码的文本文件,用FileReader读取到一 ... -
实战java反射机制-让你迅速认识java强大的反射机制
2009-11-12 10:53 2075http://stephen830.iteye.com/blo ... -
利用jxl.jar读取EXCEL文件
2009-11-05 15:49 43861 从Excel文件读取数据表 ... -
Lucene整合"庖丁解牛"中文分词包
2009-10-26 15:03 2284版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声 ... -
lucene Analysis包分析
2009-10-26 13:39 3974算法和数据结构分析: 由于Analysis包比较简单,不详述 ... -
lucene学习笔记
2009-10-26 11:24 1707Lucene 其实很简单的,它最主要就是做两件事:建立索引和进 ... -
java实现截图和保存
2009-10-23 13:50 6022BufferedImage是个好类,和ImageIO和Grap ... -
java-Socket接受中文乱码的解决
2009-10-15 12:31 16253服务器发送一条数据如: BufferedReader in ... -
socket发送和接受数据
2009-10-14 14:13 2686import java.net.*; import ja ... -
java 实现判断某天是星期几
2009-09-25 13:41 6360首先对SimpleDateFormat有所了解,以下摘自jav ...
相关推荐
本文将深入探讨Java图片裁剪的相关知识点。 一、图片裁剪原理 图片裁剪是指在原始图像上选择一个矩形区域,并保留该区域内的像素,舍弃其他部分。在Java中,我们通常会用到BufferedImage类,它代表了一个图像,包含...
总结起来,Java图片等比压缩和裁剪涉及读取图片、计算比例、缩放、裁剪和保存等多个步骤,需要理解图像处理的基本原理,并利用适当的库来实现。这个过程中需要注意保持图像质量,避免失真,并确保符合预期的输出尺寸...
这个"java裁剪、缩放图片工具类"提供了这样的功能。它包含两个主要的组件:一个工具类(ImgUtils.java)和一个测试类(Test.java)。让我们深入探讨这两个类及其背后的图像处理原理。 首先,`ImgUtils.java`是核心...
看很多裁剪图片的插件感觉都不是自己想要的,后来也是网上别人说croppic可以满足,结果发现是PHP的插件,而且网络上完全没有java版本的一丁点痕迹,我觉得数据都是一样的传,那应该就是参数的问题了,所以花了点时间...
在Java开发中,图片上传、预览、剪切和缩放是常见的功能需求,尤其在Web应用中。这里,我们主要探讨如何实现这些功能,并基于`swfupload`这个库来构建一个完整的解决方案。 首先,`swfupload`是一个古老的Flash上传...
首先,我们要了解图片裁剪的基本原理。Android系统提供了一个名为`com.android.camera.action.CROP`的Intent,用于启动系统内置的图片裁剪功能。开发者可以创建一个Intent,指定源图片Uri和裁剪参数(如裁剪比例、...
文件列表中的“Jquery+JAVA图片切割上传”可能包含以下部分: 1. 前端HTML和Jquery代码,用于用户界面展示、图片选择和提交。 2. JavaScript文件,包含Jquery实现的图片切割和滤镜功能的逻辑。 3. Java源代码,包括...
Java图片处理类是Java编程语言中用于操作和处理图像文件的核心技术,主要涉及Java的AWT(Abstract Window Toolkit)和Swing库。在Java课程设计中,学生通常会被要求掌握这些概念并应用到实际项目中,例如创建一个...
总结来说,"Java图片编辑软件"通过Java编程语言实现了图片压缩功能,这涉及到图像处理的基本原理、压缩算法以及Java库的使用。了解并掌握这些知识,有助于开发者构建自己的图像处理应用,满足各种需求。
本文将深入探讨如何使用Java来实现图片的指定放大或缩小,并提供一个具体的代码示例,该示例来自“common.util”包下的`AlterUploadImage`类,这是一个专门用于处理图片缩放和裁剪的工具类。 #### 图像缩放原理 ...
在Java编程中,生成PNG透明...总之,生成PNG透明图片缩略图在Java中涉及到图像处理的基本原理和高级技巧,选择合适的库和算法至关重要。同时,要注意透明度的正确处理和代码的优化,以确保缩略图的质量和程序的性能。
下面,我们将深入探讨Android中图片裁剪的实现原理、相关API以及如何优化代码。 在Android中,图片裁剪通常通过Intent来实现,Android系统内置了`ACTION_IMAGE_CAPTURE`和`ACTION_GET_CONTENT`这两个Intent,可以...
"jcrop + jquery + struts2 图片裁剪"的组合提供了一种强大的解决方案,它整合了三个关键的技术来实现用户友好的图像裁剪功能。 首先,Jcrop是jQuery的一个插件,专门用于图像的选择和裁剪。它允许用户通过鼠标或...
本篇文章将深入探讨Android图片裁剪的原理、实现方式以及`CropImageView`的使用方法。 首先,Android系统本身提供了`Bitmap.createBitmap()`方法,可以对原始Bitmap进行裁剪,但此方法无法提供直观的裁剪界面和交互...
#### Java图片压缩代码解析 给定的代码示例主要展示了如何使用Java进行图片的无损压缩处理。具体步骤如下: 1. **读取源图像**:首先,通过`ImageIO.read()`方法读取源图片文件到`Image`对象中。 2. **缩放图像**...
接下来,我们将深入探讨Android图片裁剪的基本原理、实现方法以及可能用到的关键技术。 1. **Intent集成系统裁剪**: Android系统提供了`Intent`来调用内置的图片裁剪工具。通过`ACTION_PICK` Intent获取图片,再...
下面我们将深入探讨Java图片压缩的相关知识点。 1. **图片格式** 图片格式有很多种,如JPEG、PNG、GIF、BMP等。不同的格式有不同的压缩算法和用途。JPEG适用于连续色调的图片,如照片,支持有损压缩;PNG适合于...
要实现图片裁剪,我们可以引入如JQuery Cropper这样的插件。JQuery Cropper是一个轻量级且功能丰富的jQuery插件,支持基于HTML5的Canvas进行图片裁剪。在页面上,用户可以通过拖动和调整裁剪框来选择需要的部分,...
首先,我们需要理解二值化的原理。在灰度图像中,每个像素点的值介于0(黑色)到255(白色)之间。二值化就是设定一个阈值,小于阈值的像素点设为0(黑色),大于等于阈值的设为255(白色)。这样,图像就被转化成了...
首先,我们要了解Java封装FFmpeg的基本原理。通常,这涉及到使用JNI(Java Native Interface)或JNA(Java Native Access)来调用FFmpeg的C/C++库。这样,Java代码可以调用FFmpeg的函数,执行多媒体操作,而无需离开...