一个可以根据设定输出图片的函数 可以改变图片的大小
2006-02-24 09:54
841 查看
<?php
function UpdateImage($pic='php.jpg',$wrate=2,$hrate=2){
/*
先判断图片的类型,决定下面要使用什么函数 如果是gif格式的使用imagecreatefromgif()[从 GIF 文件或 URL 新建一图像];
在本例中也可以对图片进行比例的缩放
*/
$imagemsg = getimagesize($pic);
$type_tmp = $imagemsg['mime'];
$width = $imagemsg[0];
$height = $imagemsg[1];
$type = substr($type_tmp,strpos($type_tmp,'/')+1);
if($type == 'jpeg') {
$fun = 'ImageCreateFromJPEG';
$funout = 'imagejpeg';
$Content_Type = 'Content-Type: image/jpeg';
} else if($type == 'gif') {
$fun = 'imagecreatefromgif';
$funout = 'imagegif';
$Content_Type = 'Content-Type: image/gif';
}
$src = $fun($pic);
$x = $width/$wrate; $y = $height/$hrate;
$dst = ImageCreateTrueColor($x,$y);
ImageCopyResampled($dst,$src,0,0,0,0,$x,$y,$width,$height);
header($Content_Type);
$funout($dst);
}
UpdateImage();
/**
* 一段可以保持图片不变形的函数
* 函数名称: resizePic
* 函数功能: 合理缩放图片
* 输入参数: $path ----------------- 图片路径
$maxwidth ------------- 最大宽度
$maxheight ------------ 最大高度
* 函数返回值: array
* 其它说明: 2004-8-22
*/
function resizePic($path,$maxwidth=120,$maxheight=120)
{
$info = array();
$pic_size = @GetImageSize($path['tmp_name']);
$imagewidth = $pic_size['0'];
$imageheight = $pic_size['1'];
if ($imagewidth > $maxwidth)
{
$imageprop = ($maxwidth*100)/$imagewidth;
$imagevsize = ($imageheight*$imageprop)/100 ;
$imagewidth = $maxwidth;
$imageheight = ceil($imagevsize);
}
if ($imageheight > $maxheight)
{
$imageprop = ($maxheight*100)/$imageheight;
$imagehsize = ($imagewidth*$imageprop)/100 ;
$imagewidth = ceil($imagehsize);
$imageheight = $maxheight;
}
$info['width'] = $imagewidth;
$info['height'] = $imageheight;
Return $info;
}
?>
function UpdateImage($pic='php.jpg',$wrate=2,$hrate=2){
/*
先判断图片的类型,决定下面要使用什么函数 如果是gif格式的使用imagecreatefromgif()[从 GIF 文件或 URL 新建一图像];
在本例中也可以对图片进行比例的缩放
*/
$imagemsg = getimagesize($pic);
$type_tmp = $imagemsg['mime'];
$width = $imagemsg[0];
$height = $imagemsg[1];
$type = substr($type_tmp,strpos($type_tmp,'/')+1);
if($type == 'jpeg') {
$fun = 'ImageCreateFromJPEG';
$funout = 'imagejpeg';
$Content_Type = 'Content-Type: image/jpeg';
} else if($type == 'gif') {
$fun = 'imagecreatefromgif';
$funout = 'imagegif';
$Content_Type = 'Content-Type: image/gif';
}
$src = $fun($pic);
$x = $width/$wrate; $y = $height/$hrate;
$dst = ImageCreateTrueColor($x,$y);
ImageCopyResampled($dst,$src,0,0,0,0,$x,$y,$width,$height);
header($Content_Type);
$funout($dst);
}
UpdateImage();
/**
* 一段可以保持图片不变形的函数
* 函数名称: resizePic
* 函数功能: 合理缩放图片
* 输入参数: $path ----------------- 图片路径
$maxwidth ------------- 最大宽度
$maxheight ------------ 最大高度
* 函数返回值: array
* 其它说明: 2004-8-22
*/
function resizePic($path,$maxwidth=120,$maxheight=120)
{
$info = array();
$pic_size = @GetImageSize($path['tmp_name']);
$imagewidth = $pic_size['0'];
$imageheight = $pic_size['1'];
if ($imagewidth > $maxwidth)
{
$imageprop = ($maxwidth*100)/$imagewidth;
$imagevsize = ($imageheight*$imageprop)/100 ;
$imagewidth = $maxwidth;
$imageheight = ceil($imagevsize);
}
if ($imageheight > $maxheight)
{
$imageprop = ($maxheight*100)/$imageheight;
$imagehsize = ($imagewidth*$imageprop)/100 ;
$imagewidth = ceil($imagehsize);
$imageheight = $maxheight;
}
$info['width'] = $imagewidth;
$info['height'] = $imageheight;
Return $info;
}
?>
相关文章推荐
- QT5-控件-QScrollArea-可以用于把一个窗口分割为多个-比如根据图片大小显示滚动条
- 一个可以使得上传的图片大小按照指定的宽度,高度自动按比例进行缩放的函数(C#)
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- 初识linux chmod命令/函数时我就产生一个有趣疑问:既然chmod可以改变权限, 那即使某用户原来没有某文件的权限, 也可以自己添加权限啊!
- 一个可以用鼠标改变控件位置和大小的类
- C# Winform 一个可以用鼠标改变控件位置和大小的类,直接调用即可.....(代码收藏)
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- 根据产品写的一个可拖拽的,可改变大小的小型插件
- 用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- 创建一个CPoint类,代表平面直角坐标系中的点,创建构造函数和运算符重载函数, 运算符重载为类重载(非友元重载),可以实现计算两个点之间的距离。可以根据需要 加入自己的成员变量或成员函数
- 设计一个函数,根据指定长度生成对应的验证码(由数字和大小写英文字母构成的随机字符串)
- 使用mspaint改变图片大小的一个小技巧记录
- 窗体中有一个图片框,显示一副图片。要求:1)在窗体打开时,动态加载图片;2)设置图片显示模式为根据图片框大小缩放图片;3)图片自己找;4)当鼠标停留在图片框时,显示“**风光”提
- 一个时间格式的函数,可以把时间格式为各种输出
- Delphi中创建一个可以改变大小的无边框窗口
- 根据用户输入的大小来输出一个空心菱形
- 用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置
- 从matlab导入fig图片数据并设定输出大小
- Delphi中创建一个可以改变大小的无边框窗口