知识大全 用java生成缩略图和给图上打上公司logo

Posted

篇首语:时间,就像海绵里的水,只要愿挤,总是有的。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用java生成缩略图和给图上打上公司logo相关的知识,希望对你有一定的参考价值。

  这是我前两天写的生成图片的缩略图和给图片打上logo的java代码 没有怎么整理就放上来了 希望能够为大家在工作中帮点忙 同时写的有什么不对的地方 希望大家指点指点

  import java awt Graphics D;

  import java awt geom AffineTransform;

  import java awt image AffineTransformOp;

  import java awt image BufferedImage;

  import java io File;

  import java io FileInputStream;

  import java io FileNotFoundException;

  import java io FileOutputStream;

  import java io IOException;

  import java awt Color;

  //生成缩略图和给图上打上公司logo

  public static void main(String[] args) throws IOException

  //源文件 必须是有文件

  String pathS= D:/tdeng/My Pictures/showPhoto gif ;

  //目标文件

  String pathD= D:/temp/showPhotomini gif ;

  //拷贝文件

  copyfile(pathS pathD);

  //

  //生成缩小mimi图

  File stadimgfile = new File(pathD);

  //图片缓存

  BufferedImage img = ImageIO read(stadimgfile );

  //得到图片的宽和高

  double width = img getWidth();

  double height = img getHeight();

  int miniwidth = ;//缩略图宽度

  int miniheight = ;//缩略图高度

  double ratew = miniwidth / width;

  double rateh = miniheight / height;

  //获得适合的缩放比率 即以在规定缩略尺寸中完整显示图片内容的同时又保证最大的缩放比率

  double rate = Math min(ratew rateh);

  rate = (Math rint((rate * ) + )) / ;

  BufferedImage imgmini = new java awt image BufferedImage(miniwidth miniheight BufferedImage TYPE_USHORT_ _RGB);

  Graphics D gmini = imgmini createGraphics();

  gmini setBackground(Color WHITE);

  gmini clearRect( miniwidth miniheight);

  AffineTransform trans = new AffineTransform();

  trans scale(rate rate);

  AffineTransformOp op = new AffineTransformOp(trans AffineTransformOp TYPE_BILINEAR);

  gmini drawImage(img op (int) (miniwidth (width * rate)) / (int) (miniheight (height * rate)) / );

  ImageIO write(imgmini jpg stadimgfile );

  //

  //mimi图加水印

  BufferedImage img = ImageIO read(stadimgfile );

  int mimi_width = img getWidth();

  int mimi_height = img getHeight();

  BufferedImage imgmimi = new java awt image BufferedImage(mimi_width mimi_height

  BufferedImage TYPE_USHORT_ _RGB);

  //logo文件的位置 必须是真是的

  String logoFile = D:/tdeng/My Pictures/logo gif ;

  BufferedImage watermark = ImageIO read(new File(logoFile));

  Graphics D gmimi = imgmimi createGraphics();

  gmimi drawImage(img null );

  gmimi drawImage(watermark null mimi_width watermark getWidth() mimi_height watermark getHeight());

  ImageIO write(imgmimi jpg stadimgfile );

  

  //    使用FileInputStream和FileOuStream

  public static void copyfile(String pathSrc String pathDest) throws IOException

  

  FileInputStream fi=new FileInputStream(pathSrc);

  FileOutputStream fo=new FileOutputStream(pathDest);

  byte data[]=new byte[fi available()];

  fi read(data);

  fo write(data);

  fi close();

  fo close();

cha138/Article/program/Java/hx/201311/26025

相关参考

知识大全 JAVA生成JPG缩略图

JAVA生成JPG缩略图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在任何一个综合性网站我们

知识大全 asp.net缩略图和水印制作:Image Generation

asp.net缩略图和水印制作:ImageGeneration  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 asp.net生成缩略图及给原始图加水印

生成缩略图及给原始图加水印代码如下cha138/Article/program/net/201311/11730

知识大全 使用FileUpload控件上传图片并自动生成缩略图

使用FileUpload控件上传图片并自动生成缩略图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 在ASP.NET中上传图片并生成缩略图

在ASP.NET中上传图片并生成缩略图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下是引用片段

知识大全 Java将Logo设为程序左上角的图案

Java将Logo设为程序左上角的图案  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Strin

知识大全 用Java来显示图片生成器

用Java来显示图片生成器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一本图片生成器具有以下

知识大全 用Java代码生成打印收据

用Java代码生成打印收据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  首先来看看效果如下图 

知识大全 巧用工具 为Java程序生成代码做覆蓋统计

巧用工具为Java程序生成代码做覆蓋统计  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  曾经为大

知识大全 用C#轻松地在DOTNET中实现缩略图

用C#轻松地在DOTNET中实现缩略图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以前在页面上实