1.图片处理工具类

import java.awt.image.BufferedImage;public class ImageZoom{/*** */private static final long serialVersionUID = 1L;private ImageZoom(){}//图片按比例缩放public static BufferedImage createZoomImage(BufferedImage image,float zoom){return createZoomImage(image,zoom,zoom);}//图片不按比例缩放public static BufferedImage createZoomImage(BufferedImage image,float xZoom,float yZoom){BufferedImage createImage=null;if(image!=null){int width=0;int height=0;int forX=0;int forY=0;int tempZoomStartX=0;int tempZoomStartY=0;int tempZoomEndX=0;int tempZoomEndY=0;int rgb=0;int imageRGB[] = null;int imageChangeRGB[] = null;width=(int)(image.getWidth()*xZoom);height=(int)(image.getHeight()*yZoom);forX=image.getWidth();forY=image.getHeight();imageChangeRGB=new int[height*width];imageRGB=new int[forX*forY];image.getRGB(0, 0, forX, forY, imageRGB, 0, forX);createImage=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);for(int y=0;y<forY;y++){for(int x=0;x<forX;x++){tempZoomStartX=(int)(x*xZoom);tempZoomStartY=(int)(y*yZoom);tempZoomEndX=(int)((x+1)*xZoom);tempZoomEndY=(int)((y+1)*yZoom);rgb=imageRGB[y*forX+x];for(int yy=tempZoomStartY;yy<tempZoomEndY;yy++){for(int xx=tempZoomStartX;xx<tempZoomEndX;xx++){imageChangeRGB[yy*width+xx]=rgb;}}}}createImage.setRGB(0, 0, width, height, imageChangeRGB, 0, width);imageRGB=null;imageChangeRGB=null;}return createImage;}//图片反色处理public static BufferedImage inverse(BufferedImage image){BufferedImage createImage=null;if(image!=null){int width=0;int height=0;width=image.getWidth();height=image.getHeight();int imageRGB[]=new int[width*height];image.getRGB(0, 0, width, height, imageRGB, 0, width);createImage=new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);for(int i=0;i<imageRGB.length;i++){imageRGB[i]=imageRGB[i]^0xffffffff;}createImage.setRGB(0, 0, width, height, imageRGB, 0, width);imageRGB=null;}return createImage;}
}

2.test

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Date;import javax.imageio.ImageIO;
import javax.swing.JFrame;public class test extends JFrame{/*** */private static final long serialVersionUID = 1L;BufferedImage image2=null;public test(){File file=new File("d:/2.jpg");File file2=new File("d:/2-1.jpg");Date d;long startTime;long endTime;float xZoom=20f;float yZoom=20f;try {BufferedImage image=ImageIO.read(file);//获取缩放并且反色后的图片d=new Date();startTime=d.getTime();//图片反色后再按比例缩放image2=ImageZoom.createZoomImage(ImageZoom.inverse(image),xZoom,yZoom);d=new Date();endTime=d.getTime();System.out.println("使用时间:"+(endTime-startTime)+"毫秒");ImageIO.write(image2, "JPEG", file2);//保存转换后的图片} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}this.repaint();this.setBounds(0,0,600,500);this.setDefaultCloseOperation(3);this.setVisible(true);}public void paint(Graphics g){g.drawImage(image2, 0, 30, this);}public static void main(String[] arg){new test();}
}

JAVA实现图片缩放反转相关推荐

  1. java 等比缩放图片_java处理图片按比例缩放功能

    java中的图片按比例缩放功能 1. 按固定长宽进行缩放 /* * 图片缩放,w,h为缩放的目标宽度和高度 * src为源文件目录,dest为缩放后保存目录 */ public static void ...

  2. ImageUtils.java:图片处理工具类[裁剪/图片水印/文字水印/缩放补白/Base64加密解密]

    用到的jar包: commons-beanutils-1.8.0.jar commons-codec-1.10.jar package com.zhenzhigu.commons.util;   im ...

  3. golang实现图片颜色反转、图片灰度、缩放、转为字符画

    看到网上很多通过字符形成的画,觉得很好玩,于是网上搜索了下原来叫字符画. 见百度百科:https://baike.baidu.com/item/%E5%AD%97%E7%AC%A6%E7%94%BB/ ...

  4. [转载]java图片缩放处理

    原文地址:java图片缩放处理作者:jack package com.bluecms.common.util; import java.awt.Image; import java.awt.image ...

  5. java马赛克_java实现图片缩放、旋转和马赛克化

    本文是作者结合网上的一些资料封装的java图片处理类,支持图片的缩放,旋转,马赛克化. 不多说,上代码: package deal; import java.awt.Color; import jav ...

  6. Java图片压缩大小,图片缩放

    添加依赖 <!-- 图片缩略图 --><dependency><groupId>net.coobird</groupId><artifactId& ...

  7. Java 通过BufferedImage缩放和裁剪图片

    通过BufferedImage对图片进行缩放和裁剪 读取图片 //读取图片 通过JAVA自带的ImageIO里面的read方法 BufferedImage bufImage = ImageIO.rea ...

  8. java实现图片固定长宽的缩放和裁剪

    java实现图片固定长宽的缩放和裁剪 实现对aa文件夹进行深层遍历并将图片按长600宽400进行缩放和裁剪 import java.awt.Color; import java.awt.Graphic ...

  9. java 给图片加马赛克_java处理图片--图片的缩放,旋转和马赛克化

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 这是我自己结合网上的一些资料封装的java图片处理类,支持图片的缩放,旋转,马赛克化.(转 ...

最新文章

  1. SpringMVC之源码分析--ViewResolver(四)
  2. linux进程--多线程/多进程同步(十)
  3. 【机器学习入门笔记5:OpenCV像素的基础知识】20190203
  4. 计算机设计大赛国奖作品_4. 界面设计
  5. EasyCode.Net代码生成器使用心得
  6. QQ小工具网页版源码
  7. mysql的内连接与外连接
  8. sql server数据库的部署
  9. android5.1蓝牙反向控制(Avrcp协议)流程
  10. NE555延时电路设计
  11. 小米手机第三方卡刷软件_小米手机MIUI卡刷图文教程
  12. 添加引用提示:未能找到引用的组件“XXX”。未能加载类型库。加载类型库/DLL 时出错。...
  13. 量子纠缠:万物皆有默契
  14. 货币信息高于货币价值而存在
  15. Mysql rbo和cbo_CBO和RBO介绍(好)
  16. 钱塘江涌潮特性及其数值模拟
  17. nginx做中转站跨域转发
  18. 打开用友提示运行错误-2147
  19. 【180629】大鱼吃小鱼游戏VC++最终版源码
  20. 由于 Exception.ToString() 失败,因此无法打印异常字符串。

热门文章

  1. Windows编程捕获特定窗口及键盘鼠标消息模拟
  2. P3722 [AH2017/HNOI2017]影魔(树状数组)
  3. 迈普交换机添加用户、授权用户级别及删除用户
  4. 不要重复造轮子 Stop Trying to Reinvent the Wheel
  5. LED点阵屏实现文字滚动
  6. Matlab报错:错误使用 rgb2gray>parse_inputs (第 79 行) MAP 必须为 m x 3 的数组。请对 RGB 和灰度图像使用 im2gray。
  7. bam/sam格式说明--转载
  8. 博客保存大数据SQL相关
  9. ArcEngine开发--网络分析
  10. 小程序下拉刷新的实现