当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015计算机二级考试指导:JAVA实现图片的任意方向反转
发布时间:2010/3/10 16:05:59 来源:城市学习网 编辑:MOON
  package com.junit.test;
  import java.awt.image.BufferedImage;
  import java.io.File;
  import java.net.URL;
  import javax.imageio.ImageIO;
  import java.util.*;
  public class Test {
  public static void main(Stringargs)
  {
  try {
  //本地地址或URL 的图片
  //BufferedImage bi = ImageIO.read(new URL("http://xuke.shfda.gov.cn/validatecode/codeimage.jsp"));
  BufferedImage bi = ImageIO.read(new File("D:““333.jpg"));
  //截取任意区域的图片
  //BufferedImage subimg = bi.getSubimage(0, 0, 100, 30);
  int width = bi.getWidth();
  int height = bi.getHeight();
  System.out.println("w:"+width);
  System.out.println("h:"+height);
  int datas = new int[width][height];
  int datastmp = new int[width][height];
  for(int i = 0;i height;i++)
  {
  for(int j = 0 ;jwidth;j++)
  {
  datas[j][i]= bi.getRGB(j, i);
  datastmp[j][i]= bi.getRGB(j, i);
  System.out.print( bi.getRGB(j, i)+ " ");
  }
  System.out.println();
  }
  intxz = XZ(datas,width,height,1);
  for(int i = 0;i height;i++)
  {
  for(int j = 0 ;jwidth;j++)
  {
  bi.setRGB(j, i, xz[j][i]);
  }
  }
  ImageIO.write(bi, "JPEG", new File("D:““3334.jpg"));
  }
  /***
  * 图片旋转数据处理
  * @param datas
  * @param width
  * @param height
  * @param FX 0 为上下反转 1 为左右反转
  * @return
  */
  public static intXZ(intdatas,int width,int height,int FX)
  {
  try {
  int tmps= new int [width][height];
  if(FX0)
  {
  for(int i = 0,a=height-1;i height;i++,a)
  {
  for(int j = 0 ,b=width-1;jwidth;j++,b)
  {
  tmps[b][a] = datas[j][i];
  }
  }
  }
  else if (FX1)
  {
  for(int i = 0;i height;i++)
  {
  for(int j = 0 ,b=width-1;jwidth;j++,b)
  {
  tmps[b][i] = datas[j][i];
  }
  }
  }
  return tmps;
  } catch (Exception e) {
  // TODO: handle exception
  System.out.println("ex:"+e.getMessage());
  return null;
  }
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved