- 浏览: 686494 次
- 性别:
- 来自: 合肥
文章分类
最新评论
-
di1984HIT:
学习了,学习了!
Tomcat的URL中文乱码解决以及传输优化 -
arottenapple:
...
我的二十一天CoreJava 学习笔记 -
黯淡流觞:
...
我的二十一天CoreJava 学习笔记 -
onlyOneToOne:
wsc830719 写道@RequestMapping(val ...
spring mvc3中 ResponseBody中文乱码 -
waj_615:
但是打印订单不是简单的string 啊
用java实现打印功能
方案一:
import java.io.*; import java.awt.*; import java.awt.image.*; import java.awt.Graphics; import java.awt.color.ColorSpace; import javax.imageio.ImageIO; public class ChangeImageSize { /** *//** * 缩放图像 * @param srcImageFile 源图像文件地址 * @param result 缩放后的图像地址 * @param scale 缩放比例 * @param flag 缩放选择:true 放大; false 缩小; */ public static void scale(String srcImageFile, String result, int scale, boolean flag) { try { BufferedImage src = ImageIO.read(new File(srcImageFile)); // 读入文件 int width = src.getWidth(); // 得到源图宽 int height = src.getHeight(); // 得到源图长 if (flag) { // 放大 width = width * scale; height = height * scale; } else { // 缩小 width = width / scale; height = height / scale; } Image image = src.getScaledInstance(width, height, Image.SCALE_DEFAULT); BufferedImage tag = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g = tag.getGraphics(); g.drawImage(image, 0, 0, null); // 绘制缩小后的图 g.dispose(); ImageIO.write(tag, "JPEG", new File(result));// 输出到文件流 } catch (IOException e) { e.printStackTrace(); } }
方案二:
package com.common.helper; import java.io.*; import java.util.*; import com.sun.image.codec.jpeg.*; import java.awt.image.*; import java.awt.*; import java.net.*; import java.applet.*; import java.sql.*; //缩略图类, //本java类能将jpg图片文件,进行等比或非等比的大小转换。 //具体使用方法 //s_pic(大图片路径,生成小图片路径,大图片文件名,生成小图片文名,生成小图片宽度,生成小图片高度,是否等比缩放(默认为true)) public class DwindlePic { String InputDir; //输入图路径 String OutputDir; //输出图路径 String InputFileName; //输入图文件名 String OutputFileName; //输出图文件名 int OutputWidth = 80; //默认输出图片宽 int OutputHeight = 80; //默认输出图片高 int rate = 0; boolean proportion = true; //是否等比缩放标记(默认为等比缩放) public DwindlePic() { //初始化变量 InputDir = ""; OutputDir = ""; InputFileName = ""; OutputFileName = ""; OutputWidth = 80; OutputHeight = 80; rate = 0; } public boolean s_pic() { // BufferedImage image; // String NewFileName; //建立输出文件对象 File file = new File(OutputDir + OutputFileName); FileOutputStream tempout = null; try { tempout = new FileOutputStream(file); } catch (Exception ex) { System.out.println(ex.toString()); } Image img = null; Toolkit tk = Toolkit.getDefaultToolkit(); Applet app = new Applet(); MediaTracker mt = new MediaTracker(app); try { img = tk.getImage(InputDir + InputFileName); mt.addImage(img, 0); mt.waitForID(0); } catch (Exception e) { e.printStackTrace(); } if (img.getWidth(null) == -1) { // System.out.println(" can't read,retry!" + "<BR>"); return false; } else { int new_w; int new_h; if (this.proportion == true) { //判断是否是等比缩放. //为等比缩放计算输出的图片宽度及高度 double rate1 = ((double) img.getWidth(null)) / (double) OutputWidth + 0.1; double rate2 = ((double) img.getHeight(null)) / (double) OutputHeight + 0.1; double rate = rate1 > rate2 ? rate1 : rate2; new_w = (int) (((double) img.getWidth(null)) / rate); new_h = (int) (((double) img.getHeight(null)) / rate); } else { new_w = OutputWidth; //输出的图片宽度 new_h = OutputHeight; //输出的图片高度 } BufferedImage buffImg = new BufferedImage(new_w, new_h, BufferedImage.TYPE_INT_RGB); Graphics g = buffImg.createGraphics(); g.setColor(Color.white); g.fillRect(0, 0, new_w, new_h); g.drawImage(img, 0, 0, new_w, new_h, null); g.dispose(); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(tempout); try { encoder.encode(buffImg); tempout.close(); } catch (IOException ex) { System.out.println(ex.toString()); } } return true; } public boolean s_pic(String InputDir, String OutputDir, String InputFileName, String OutputFileName) { //输入图路径 this.InputDir = InputDir; //输出图路径 this.OutputDir = OutputDir; //输入图文件名 this.InputFileName = InputFileName; //输出图文件名 this.OutputFileName = OutputFileName; return s_pic(); } public boolean s_pic(String InputDir, String OutputDir, String InputFileName, String OutputFileName, int width, int height, boolean gp) { //输入图路径 this.InputDir = InputDir; //输出图路径 this.OutputDir = OutputDir; //输入图文件名 this.InputFileName = InputFileName; //输出图文件名 this.OutputFileName = OutputFileName; //设置图片长宽 setW_H(width, height); //是否是等比缩放 标记 this.proportion = gp; return s_pic(); } public void setInputDir(String InputDir) { this.InputDir = InputDir; } public void setOutputDir(String OutputDir) { this.OutputDir = OutputDir; } public void setInputFileName(String InputFileName) { this.InputFileName = InputFileName; } public void setOutputFileName(String OutputFileName) { this.OutputFileName = OutputFileName; } public void setOutputWidth(int OutputWidth) { this.OutputWidth = OutputWidth; } public void setOutputHeight(int OutputHeight) { this.OutputHeight = OutputHeight; } public void setW_H(int width, int height) { this.OutputWidth = width; this.OutputHeight = height; } public static void main(String[] a) { //s_pic(大图片路径,生成小图片路径,大图片文件名,生成小图片文名,生成小图片宽度,生成小图片高度) DwindlePic mypic = new DwindlePic(); System.out.println( mypic.s_pic("c:/", "d:/", "aa.bmp", "wwww.jpg", 120, 80, true)); } }
发表评论
-
jetty快速开发时自实现提供jndi服务
2012-07-11 17:21 2252jndi一般是由容器提供,或是启动第三方服务jar包启动。 ... -
spring mvc3中 ResponseBody中文乱码
2012-07-11 14:48 4704使用spring mvc3的@ResponseBody注解以期 ... -
用Java Service Wrapper将java程序制作成系统服务进程
2012-05-23 14:35 10972用途 在做完一个项目程序后,有时会有两种需求想法。 1.在 ... -
根据颜色检查图片中的产品是否合格
2012-04-23 17:13 1399受朋友之托,做了一个小软件。只是一个练手,现将思路重现。 需 ... -
仿log4j定制自己的Log工具类
2012-03-02 16:27 3447原由: log4j是很强大,可每次使用还要加入log4j包, ... -
自制简易提醒器
2012-02-29 19:50 1352每次烧水和吃饭都忘了时间,就想要一个小闹钟。可网上的软件要不就 ... -
Log4j配置备查
2012-02-29 11:09 1201配置日志信息输出目的地,其语法为: log4j.append ... -
因练习正则而感受到丰富的解题思路
2011-11-14 15:07 1958不久前,在正则上终于可以登堂入室了,因担心久不练习而使其荒废, ... -
正则研究心得
2011-10-21 16:49 967自己感觉已经在正则上登堂入室了,终于也能体会到它的 ... -
正则表达式截取再整合字符串
2011-10-21 15:44 1497在百度知道中又看到一问题,有意思,可惜 ... -
找出一个字符串中由同一个字符组成的最长子串
2011-10-21 15:15 2099找出一个字符串中由同一个字符组成的最长子串 这是 ... -
设计模式核心笔录
2011-05-25 18:38 1072脑图内容整理成的PD ... -
struts2 iterator双重叠迭取值
2010-03-10 21:02 1244效果:Map<String,List<Derpa ... -
打包Zip文件下载
2010-03-10 12:19 1989项目里要把当个文件单 ... -
断点下载功能
2010-03-10 12:16 1486项目中要用到下载功能,发现一个断点下载的文章,还不错,归案备 ... -
页面头信息资料
2010-03-10 11:45 1797要做下载单个图片和多个图片打包后下载功能,收集了一下页面头信 ... -
JAVA WEB程序中添加定时器
2010-02-21 08:56 1060//这是我的定时器类, ... -
用java实现打印功能
2010-02-06 17:48 31620用java实现打印,java.awt中提供了一些 ... -
url中有加号
2010-02-05 09:27 3123url 中有些字符被转义,比如空格被编码成加号,于是传 ... -
java实现文件下载
2010-02-03 14:00 5126一、采用RequestDispatcher的方式进 ...
相关推荐
标题中的“PB按比例缩放图片.rar”表明这是一个关于PowerBuilder(简称PB)的应用示例,主要用于图片的按比例缩放。在编程中,尤其是在GUI应用程序开发中,图像的缩放是一个常见的需求,用于适应不同的屏幕尺寸或者...
请注意,缩放图像可能涉及到一些性能问题,尤其是当处理大图时。因此,你可能需要考虑缓存缩放后的图像,或者使用更高效的缩放算法,如双线性插值。 在应用结束时,别忘了清理GDI+: ```cpp void CMyView::...
本文将深入探讨如何处理多点触控缩放图像时遇到的问题,如图像缩小后反弹导致的变形,以及缩放功能与onClick、onLongClick事件之间的冲突。 首先,我们要理解Android中的多点触控机制。Android系统提供了`...
综上所述,易语言的图片无损缩放源码通过上述函数的组合应用,实现了对图像的高质量缩放。在实际开发中,我们需要根据具体需求选择合适的算法和参数,以达到理想的缩放效果。同时,理解这些函数的工作原理和用法,...
标题提到的"易语言缩放图片源码(指定宽度高度)"是关于使用易语言来调整图像尺寸的代码实现,这在很多应用场景中都非常实用,如网页设计、图形用户界面(GUI)开发等。 易语言中的图像处理通常依赖于特定的库或...
2. **鼠标位置缩放图像**: 在Qt中,QGraphicsView提供了缩放功能。我们需要创建一个QGraphicsView,并将QGraphicsScene设置为其视图。然后,可以通过设置缩放因子来实现图像的放大和缩小。当鼠标按下并移动时,...
在C#编程中,处理图像是一项常见的任务,包括截取图片的部分区域以及对图片进行缩放。本篇文章将深入探讨这两个知识点,旨在帮助你理解如何使用C#来实现这些功能。 首先,我们要介绍的是如何截取图片的部分。这通常...
1. **鼠标缩放图像**: - 在MFC中,我们通常重载OnMouseMove()函数来处理鼠标移动事件。 - 当用户按下鼠标滚轮时,我们可以检测WM_MOUSEWHEEL消息,并根据滚轮的滚动方向调整图像的缩放级别。 - 使用Halcon的`...
"手机js手势放大缩放图片插件"就是这样一个工具,它专为移动设备设计,旨在提升用户体验,让用户能够通过简单的触摸手势来放大和缩小网页中的图片。这篇文章将深入探讨这种插件的工作原理、实现方式以及其在实际开发...
总之,"Unity3d UGUI以鼠标位置点为中心缩放图片项目源码"是一个实用的示例,展示了如何利用Unity3d的UGUI系统结合鼠标交互来实现图片的动态缩放功能。通过深入理解UGUI的工作原理和事件处理机制,开发者可以进一步...
在Android开发中,手势识别是实现用户交互的重要一环,特别是在图像查看器或者地图应用中,手势缩放图片是一项常见的功能。"手势缩放图片代码"这个主题涉及到的核心知识点包括手势检测、ImageView的使用以及Android...
### C# 双三次插值缩放图像 #### 一、引言 图像处理领域中,缩放操作是一项基本而重要的技术。为了提高缩放后图像的质量,避免图像失真,选择合适的插值算法至关重要。本文主要介绍了双三次插值算法在C#中的实现,...
缩放图片功能背后的原理涉及到图像处理和计算机图形学。在数字图像中,图片由像素组成,每个像素代表一个颜色值。放大图片实际上是在增加像素的数量,而缩小图片则是在减少像素数量。为了在放大时不出现明显的锯齿状...
- 正片叠底是一种图像合成模式,常用于绘画软件中,使得绘制的线条与背景图片结合时产生一种透明度叠加的效果。在Android中,我们可以通过自定义View来实现。 - 自定义一个`View`,重写`onDraw()`方法。在该方法中...
总之,批量缩放图片的Java实现是一个结合了文件操作、图像处理和可能的并发编程的技术问题。`PictureResize.java`代码应当详细展示了这些技术点的实现,通过对代码的阅读和理解,开发者可以学习到如何在实际项目中...
通常,PNG适用于有透明需求的图像,JPEG适用于色彩丰富的图片。JPEG具有更高的压缩比,能有效减少内存占用。 #### 3.2 动态调整`inSampleSize` 根据设备的屏幕分辨率动态计算`inSampleSize`,确保图片在不失真的...
6. **图像处理**:缩放图像通常涉及到图像的重采样,即根据新的尺寸重新计算像素值。这可以使用插值算法,如最近邻插值、双线性插值或更高级的插值方法,以保持图像质量。 7. **实时更新**:在拖动过程中,应实时...
在Qt框架下,图片缩放是一项常见的功能,尤其在图形用户界面(GUI)应用中,如图像查看器或编辑器。本项目利用Qt 5.3.2版本实现了这一功能,支持通过滚轮和按键进行图片的放大与缩小,同时具备复位和切换图片的能力...
在C#编程中,开发一个图像查看器应用时,常常需要实现用户可以通过鼠标进行图片的浏览、拖动和缩放功能。本项目“C#图片浏览支持鼠标拖动与滚轮缩放.rar”正是这样一个实例,它展示了如何利用C#语言来实现这些交互...
2. **图片外部缩放**:与内部缩放不同,外部缩放会在图片的旁边或者下方创建一个新的区域,展示放大后的图像。这种方式通常会创建一个独立的放大视窗,用户可以通过移动鼠标来查看不同位置的细节,而不影响原始图片...