java读取jpg图片旋转按比例缩放

 1 //入口
 2 public static BufferedImage constructHeatWheelView(int pageWidth, int pageHeight, DoubleHolder scaleHolder) throws ValidateException{
 3
 4         BufferedImage bi = new BufferedImage(pageWidth, pageHeight, BufferedImage.TYPE_INT_RGB);
 5         Graphics2D g = (Graphics2D) bi.getGraphics();
 6         DrawingHelper.clearGraphics(g, pageWidth, pageHeight);
 7         try {
 8
 9             //1 读取 jpg 格式图片
10             Image srcImage= ImageIO.read(ECSigleton.getInstance().getAppManager().loadImageStream("HeatWheel"));
11
12             //2   旋转 Image
13             bi=getImage_rote270(srcImage);
14             //3 按比例缩放
15             bi=scale(bi,0.75);
16
17         } catch (IOException e) {
18             // TODO Auto-generated catch block
19             e.printStackTrace();
20         }
21         return bi;
22     }
23
24  public static BufferedImage getImage_rote270(Image img)
25     {
26         int width = img.getWidth(null);
27         int height = img.getHeight(null);
28         BufferedImage newImg = new BufferedImage(height, width, 1);
29         Graphics g = newImg.getGraphics();
30         Graphics2D g2d = (Graphics2D) g;
31         g2d.rotate(Math.toRadians(-90), 0, 0);
32         g2d.drawImage(img, -width, 0, width, height,  null);
33         g2d.dispose();
34         return newImg;
35     }
36
37     public static BufferedImage  scale(BufferedImage src,  double scale) {
38
39             int width = src.getWidth(); // 得到源图宽
40             int height = src.getHeight(); // 得到源图长
41
42                 width = (int)(width * scale);
43                 height = (int)(height * scale);
44
45             Image image = src.getScaledInstance(width, height,
46                     Image.SCALE_DEFAULT);
47             BufferedImage tag = new BufferedImage(width, height,
48                     BufferedImage.TYPE_INT_RGB);
49             Graphics g = tag.getGraphics();
50             g.drawImage(image, 0, 0, null); // 绘制缩小后的图
51             g.dispose();
52             //ImageIO.write(tag, "JPEG", new File(result));// 输出到文件流
53         return tag;
54     }
55     

java读取jpg图片旋转按比例缩放

时间: 2024-10-10 09:31:24

java读取jpg图片旋转按比例缩放的相关文章

android项目 之 记事本(12) ----- 图片的等比例缩放及给图片添加边框

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020 在Android的UI开发中经常会遇到图片的缩放,就比如记事本,现在的图片都比较大,如果将原图不经缩放直接放在屏幕上,则会占满整个屏幕,而且有时图片会比屏幕还大,这时就不能完全的显示整个图片,所以,必须要进行缩放,但在缩放时,该如何缩放呢,长和宽的缩放比例设置为多少合适呢,为了保持原图的纵横比,所以要最好的方法就是约束缩放比例,也就是等比例缩放,相信大家都用过PS中的缩放图片的

弹性盒子布局解决不规则图片的等比例缩放的利器!

我们经常遇到这种需求: 在一个固定大小(固定比例)的容器里面展示图片,图片的大小比例都不是固定的,需要按容器的比例等比例缩图片上下左右居中显示. 在没有弹性盒子布局的年代,额的做法: 1:水平居中,非常好解决,容器 text-align: center; 2:垂直居中,容器display: table-cell; 图片vertical-align: middle; 3:等比例缩放,js解决,思路: (1)如果图片宽高都没有超过容器大小,则忽略 (2)如果图片的宽度或者高度其中有一方超过容器大小,

java读取网页图片路径并下载到本地

最近公司需要爬取一些网页上的数据,自己就简单的写了一个demo,其中有一些数据是图片,需要下载下来到本地并且 将图片的路径保存到数据库,示例代码如下: package com.cellstrain.icell.util; import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.URL;import java.

js 完成对图片的等比例缩放的方法

1 /* 2 重新按比例设置 页面上对应图片的长和高, 3 */ 4 function resetImgSize(id,imgWidth,imgHeight,posWidth,posHeight) { 5 var width = 0; 6 var height = 0; 7 // 按比例缩小图片的算法 8 if(imgWidth > imgHeight) { 9 if(imgWidth > posWidth) { 10 width = posWidth; 11 height = imgHeig

PHP对图片按照一定比例缩放并生成图片文件

list($width, $height)=getimagesize($filename);//缩放比例$per=round(400/$width,3); $n_w=$width*$per;$n_h=$height*$per;$new=imagecreatetruecolor($n_w, $n_h);$img=imagecreatefromjpeg($filename);//copy部分图像并调整imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h,

iOS -- 网络/本地 图片 按自定义比例缩放 不失真 方法

+ (CGRect )scaleImage:(UIImage *)image toSize:(CGRect)newSize { float actualHeight = image.size.height; float actualWidth = image.size.width; float imgRatio = actualWidth/actualHeight; float maxRatio = newSize.size.width/newSize.size.height; if(imgRa

前端学习代码实例-JavaScript 图片等比例缩放裁切详解

本文将通过代码实例详细介绍一下如何实现图片等比例缩放裁切效果. 图片有两种应用方式,一种作为子元素存在,一种是作为背景图片. 在每一种应用方式中,图片的等比例缩放又可以大致分为如下几种情况: (1).确保图片能够填充满元素,超出的部分被裁切或者隐藏. (2).确保图片的长或者宽填充满元素,超出的部分被裁切或者隐藏. 下面通过代码实例分别介绍一下上述列举的中可能,需要的朋友可以做一下参考. 一.作为背景图片: 通过CSS的background-image属性可以设置元素的背景图片效果. 下面就以如

Android开发教程--设置ImageView图片的显示比例

为适应不同屏幕的手机,ImageView图片的显示比例,可以使用android:scaleType属性来处理,处理方式的有以下几种: 1.在xml配置中使用:android:scaleType="centerCrop" 2.在代码中使用:   imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); ScaleType的值分别代表的意义:ImageView是Android中的基础图片显示控件,该控件有个重要的属性是ScaleTyp

Java图片缩略图裁剪水印缩放旋转压缩转格式-Thumbnailator图像处理

前言 java开发中经常遇到对图片的处理,JDK中也提供了对应的工具类,不过处理起来很麻烦,Thumbnailator是一个优秀的图片处理的开源Java类库,处理效果远比Java API的好,从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式,同时保持了需要写入的最低限度的代码量.还支持对一个目录的所有图片进行批量处理操作,下边就和大家分享一下java中用Thumbnailator做图片各种处理的方法(相关jar包可在最