`
jansener
  • 浏览: 50628 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

缩小图片

阅读更多
import java.awt.image.BufferedImage;
import java.io.File;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.imageio.ImageIO;
import java.awt.image.AffineTransformOp;
import java.awt.geom.AffineTransform;
import java.awt.Image;

public class PictureZoom {
public Icon getFixedBoundIcon(String filePath, int height, int width)
   throws Exception {
        //缩放比例
  double Ratio = 0.0;
  File F = new File(filePath);
  if (!F.isFile())
   throw new Exception(F
     + " is not image file error in getFixedBoundIcon!");
  Icon ret = new ImageIcon(filePath);
  BufferedImage Bi = ImageIO.read(F);
  //当原始比例比目标比例大的时候执行
  if ((Bi.getHeight() > height) || (Bi.getWidth() > width)) {
   //取长度和宽度中较大的为准,确定缩放比例
   if (Bi.getHeight() > Bi.getWidth()) {
    Ratio = (new Integer(height)).doubleValue() / Bi.getHeight();
   } else {
    Ratio = (new Integer(width)).doubleValue() / Bi.getWidth();
   }
   int lastLength = filePath.lastIndexOf(".");
   String subFilePath = filePath.substring(0, lastLength);
   String fileType = filePath.substring(lastLength);
   File zoomFile = new File(subFilePath
     + fileType);
   Image Itemp = Bi.getScaledInstance(width, height, Bi.SCALE_SMOOTH);
   AffineTransformOp op = new AffineTransformOp(AffineTransform
     .getScaleInstance(Ratio, Ratio), null);
   Itemp = op.filter(Bi, null);
   try {
    ImageIO.write((BufferedImage) Itemp, "jpg", zoomFile);
    ret = new ImageIcon(zoomFile.getPath());
   } catch (Exception ex) {
    System.out.println("######## here error : " + ex);
   }
  }
  return ret;
}

}

分享到:
评论

相关推荐

    双指缩放图片,双击放大缩小图片DEMO

    本DEMO主要展示了如何利用双指缩放和双击操作来实现图片的放大与缩小,提供了一个直观且易用的交互体验。以下将详细解释这个DEMO涉及的技术点。 首先,我们要理解双指缩放(Pinch Zoom)的概念。双指缩放是基于多点...

    移动端点击放大、缩放图片,微信端点击放大图片

    "移动端点击放大、缩放图片,微信端点击放大图片"这个主题聚焦于如何在手机和平板等移动设备上,特别是在微信环境中,实现图片的点击放大及手势缩放功能。下面将详细介绍这一技术的实现方式和相关知识点。 首先,...

    手机js手势放大缩放图片插件

    "手机js手势放大缩放图片插件"就是这样一个工具,它专为移动设备设计,旨在提升用户体验,让用户能够通过简单的触摸手势来放大和缩小网页中的图片。这篇文章将深入探讨这种插件的工作原理、实现方式以及其在实际开发...

    PB按比例缩放图片.rar_PB 缩放图片_PB图片框缩放_feet4lg_pb 图片_pb 自适应

    标题中的“PB按比例缩放图片.rar”表明这是一个关于PowerBuilder(简称PB)的应用示例,主要用于图片的按比例缩放。在编程中,尤其是在GUI应用程序开发中,图像的缩放是一个常见的需求,用于适应不同的屏幕尺寸或者...

    照片查看器缩放图片功能

    照片查看器的核心功能之一就是其缩放图片的能力,这一特性对于查看细节、调整布局或者简单地欣赏图片都极其重要。在本篇文章中,我们将深入探讨“照片查看器缩放图片功能”,并详细介绍如何使用这项功能以及它背后的...

    js按比例缩放图片,不变形,不失真

    "js按比例缩放图片,不变形,不失真"是一个常见的需求,特别是在用户上传图片或者在页面中显示不同尺寸的图片时。传统的做法是直接设定图片的高度或宽度,但这往往会导致图片比例失衡,产生变形和失真的现象。本篇...

    双指捏合放大缩小图片

    综上所述,实现“双指捏合放大缩小图片”涉及了多点触控、手势识别器、UIImageView的交互以及图片缩放的逻辑处理。通过理解这些知识点,开发者可以创建出具有类似功能的应用,提供更优秀的用户体验。

    Unity3d UGUI以鼠标位置点为中心缩放图片项目源码

    总之,"Unity3d UGUI以鼠标位置点为中心缩放图片项目源码"是一个实用的示例,展示了如何利用Unity3d的UGUI系统结合鼠标交互来实现图片的动态缩放功能。通过深入理解UGUI的工作原理和事件处理机制,开发者可以进一步...

    图片按比例缩放

    缩放图片的工具和方法多种多样,其中最常用的是使用图像编辑软件,例如Adobe Photoshop、GIMP或在线工具。这些工具通常提供“自由变换”功能,允许用户输入特定的缩放比例,或者通过拖动角落的控制点来等比例调整...

    易语言图片无损缩放

    3. **像素组缩放**:为了实现无损缩放,易语言提供了`像素组_缩放图片_快速`和`像素组_缩放图片_无损`两个函数。前者可能牺牲一些质量来换取速度,而后者则会确保在任何情况下都能保持图像质量。无损缩放通常采用双...

    hammer.js移动端图片手指缩放插件

    为了防止图片过度缩放或缩小,通常需要设定缩放范围。可以设置最小缩放比例(min-scale)和最大缩放比例(max-scale),并在处理`pinch`事件时进行检查和限制。 7. **优化用户体验**: 为了提供更好的交互体验,...

    c#截取一张图片的部分 或者缩放图片

    缩放图片可以使用相同的Bitmap和Graphics类,但这次我们需要调整DrawImage方法中的参数来控制缩放比例。以下是一个缩放图片的示例: ```csharp // 定义缩放后的尺寸 int newWidth = 800; int newHeight = 600; // ...

    通过鼠标滚动来放大或缩小图片

    你的图片地址.jpg" alt="可缩放图片"> ``` 接下来,我们需要编写JavaScript代码来监听鼠标的滚动事件。在JavaScript中,我们可以使用`addEventListener`方法来绑定事件处理函数。对于滚动事件,我们需要监听`wheel`...

    易语言缩放图片源码(指定宽度高度)

    标题提到的"易语言缩放图片源码(指定宽度高度)"是关于使用易语言来调整图像尺寸的代码实现,这在很多应用场景中都非常实用,如网页设计、图形用户界面(GUI)开发等。 易语言中的图像处理通常依赖于特定的库或...

    C# 通过鼠标滚轮实现缩放图片和移动图片

    C# 通过鼠标实现放大图片和移动图片,内附有源码和exe,实现鼠标滚轮放大和图片平移

    C++ MFC 放大和缩小图片源码

    在这个主题中,我们将深入探讨如何利用MFC进行图片的放大和缩小操作。 首先,理解MFC中的图像处理基础是非常重要的。MFC提供了CImage类,它封装了GDI+(Graphics Device Interface Plus)的功能,使得开发者能够...

    hotoswipe仿微信放大缩小图片,图片预览功能

    标题和描述提到的"仿微信放大缩小图片,图片预览功能",正是Photoswipe的一个核心特性,它可以为用户提供与微信图片浏览相似的交互体验。 首先,Photoswipe提供了丰富的API和自定义选项,开发者可以根据项目需求...

    上传图片时,让图片按原图比例缩小

    总的来说,理解和掌握在.NET中处理图像的技巧,特别是按比例缩放图片,对于开发涉及图像上传的应用至关重要。这不仅可以节省存储空间,还能有效避免因图片尺寸过大导致的页面加载慢等问题。通过不断学习和实践,我们...

    PhotoView 手势缩放 双击缩放 图片滑动 支持viewpager

    3. **双击缩放**:双击缩放是PhotoView的另一项特色功能,允许用户通过快速连续点击两次来实现图片的放大或缩小。这一功能通常用于快速切换图片的预览和全屏模式,提高了用户操作的便捷性。 4. **图片滑动**:...

    缩小图片大小,并无刷新上传

    该方法会读取输入文件,根据指定的最大宽高比缩放图片,并将结果保存到输出文件。 现在我们引入DWR,它允许前端JavaScript与后端Java代码进行直接通信,无需页面刷新。首先,在服务器端,你需要创建一个DWR可访问的...

Global site tag (gtag.js) - Google Analytics