制作缩略图

package com.huawei.utils;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

/**
* @author Administrator
*
*/
public class ImageUtil {

//“相框”的宽高
private static final int WIDTH=300;
private static final int HEIGHT=200;

public static void preview(File src,File out,String format) throws Exception{
//将文件 映射到内存中
BufferedImage image = ImageIO.read(src);
//得到原始图片的宽高
int height = image.getHeight();
int width = image.getWidth();

//计算目标图片的宽高

int x = WIDTH;
int y = HEIGHT;

if(width*y>height*x){
y = height*x/width;
}
if(width*y<height*x){
x = width*y/height;
}

System.out.println(width);
System.out.println(height);
System.out.println(width*1.0/height);
System.out.println(x);
System.out.println(y);
System.out.println(x*1.0/y);
//是相框
BufferedImage new_Image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.SCALE_SMOOTH);
//创建画笔
Graphics2D graphics2d = new_Image.createGraphics();
//设置白色
graphics2d.setColor(new Color(255, 255, 255));
//填充颜色
graphics2d.fillRect(0, 0, WIDTH, HEIGHT);
//得到缩放以后的图片
Image target = image.getScaledInstance(x, y, BufferedImage.SCALE_SMOOTH);

graphics2d.drawImage(target, (WIDTH-x)/2, (HEIGHT-y)/2, x, y, null);
ImageIO.write(new_Image, format, out);

}

public static void main(String[] args) throws Exception{
preview(new File("D:/bg.jpg"),new File("D:/bg1.jpg"),"jpg");
}

}

时间: 2025-01-01 17:43:51

制作缩略图的相关文章

django 上传图片、使用PIL制作缩略图并保存到sea的storage

上传图片解析: SAE的设置指引如下: 处理用户上传文件 在setttings.py中添加以下配置. # 修改上传时文件在内存中可以存放的最大size为10m FILE_UPLOAD_MAX_MEMORY_SIZE = 10485760 # sae的本地文件系统是只读的,修改django的file storage backend为Storage DEFAULT_FILE_STORAGE = 'sae.ext.django.storage.backend.Storage' # 使用media这个b

[UE4]制作缩略图

一.创建一个专门用来做缩略图的角色CameraCharacter,不需要实体模型. 二.Auto Possess Player设置为“Player 0” 三.重力比例改成0(这样在天上的时候就不会往下掉) 四.照相机朝下,相机采用正交投影,并根据地图大小设置一个合适的Ortho Width值(正交宽度.Ortho:Orthographic正交的缩写) 五.删除默认添加到关卡中的角色,把上一步创建的角色放进来. 六.关卡的世界设置中,Default Pawn Class设置为CameraChara

教你用php制作一个缩略图教程

在web应用程序飞速发展的今天,各大网站如雨后春笋般壮大起来,然而缩略图是绝大多数网站不可缺少的内容,那么如何利用web应用程序代码去制作一个缩略图呢?下面我就教大家用php代码来制作缩略图的方法! <?php header('Content-Type:image/jpeg'); //设置页面的MIME类型为jpg图片类型. list($width,$height) = getimagesize('yuzhuo520.com.jpg'); //获取原来图片的长和高,getimagesize()函

20150122--商品入库+缩略图+访问权限-02

封装图片工具类 1. 在前台的公共文件里面制作工具类:image./includes/Image.class.php 2. 增加属性 3. 初始化属性:用户可以自定义,也可以使用系统默认的. a) 配置文件中配置缩略图的大小 b) 构造方法初始化属性 4. 增加缩略图制作方法. a) 判断源文件是否存在 b) 通过文件的后缀名来确定调用哪个函数打开原图资源. c) 通过可变函数来实现打开资源 d) 获取缩略图资源 e) 压缩图片 缩略图实际占用宽和高的原理 获取图片的数组:宽和高 getimag

20150122--商品入库+缩略图+访问权限

新增商品 接着前天所做的商品新增继续,前天做完了商品的合法性验证. 1. 商品数据的有效性验证.验证商品的货号是否唯一,或者在用户没有手动填写商品货号的时候应该自动生成./admin/goods.php?act=insert 2. 创建一个验证货号的方法./admin/includes/Goods.class.php 3. 判断验证结果,根据结果做操作./admin/goods.php?act=insert 4. 创建自动生成货号的方法./admin/includes/Goods.class.p

常用工具类9-上传缩略图类

public class Thumbnail { private Image srcImage; private string srcFileName; /// <summary> /// 创建 /// </summary> /// <param name="FileName">原始图片路径</param> public bool SetImage(string FileName) { srcFileName = Utils.GetMap

php表单和缩略图处理类是什么样呢

<?php//封装一个表单验证类//中文验证.邮箱验证.电话号码.手机.QQ.身份证.(由字母.数字.下划线组成,不能以数字开头)header('content-type:text/html;charset=utf-8');class Form{/*//中文验证的方法//参数:$str,$num1,$num2//返回值:匹配成功返回匹配的次数*/public function checkChina($str,$num1,$num2=''){//正则$reg='/^[\x{4e00}-\x{9fa

PHP根据图片制作缩略图

php中制作缩略图的方法也很简单,是用imagecopyresampled方法根据源图制作一个小一点的图片,来看代码check_image_addthumbs.php <?php //修改图片效果 $db = mysql_connect('localhost','root','Ctrip07185419') or die('can not connect to database'); mysql_select_db('moviesite',$db) or die(mysql_error($db)

PHP生成缩略图(3)--封装类

前台php代码 <?php require_once 'img_thumb.class.php'; $image = new ImgLib(); //源图路径 $src_path='E:/wamp/www/Demo/IMG/01.jpg'; //把新图片的名称返回浏览器 echo $image->thumb($src_path,300,300); ?> 后台php代码 <?php class ImgLib{ private $error; public function getEr