php生成小图_php 生成缩略图代码
# 显示图形及连接
function showdir ($adirectory, $i)
{
global $browsedir;
$start = $i;
# 更改 $maxcols 及 $maximages 可改变每一页显示的小图的行数与列数。
$maxcols = 2;
$maximages = 6;
$maximages = $i + ($maximages - 3);
# 更改 $imagemaxwidth 及 $imagemaxheight 可改变显示小图的宽度与高度。
$imagemaxwidth = 100;
$imagemaxheight = 100;
# 计算高度与宽度的比例。
$imagemaxratio = $imagemaxwidth / $imagemaxheight;
$ndirectory = sizeof ($adirectory);
echo (table_start);
for ($i; $i<=$maximages;)
{
echo (row_start);
for ($icols=1; $icols<=$maxcols; $icols++)
{
echo (col_start);
$imagefilename = $adirectory[++$i];
if (strlen($imagefilename)>0)
{
$imagepath = $browsedir."/".$imagefilename;
$imagesize = getimagesize ($imagepath);
if ($imagesize)
{
$imagewidth = $imagesize[0];
$imageheight = $imagesize[1];
$imageratio = $imagewidth / $imageheight;
if ($imageratio > $imagemaxratio)
{
$imageoutputwidth = $imagemaxwidth;
$imageoutputheight = ceil ($imagemaxwidth/$imagewidth*$imageheight);
}
else if ($imageratio < $imagemaxratio)
{
$imageoutputheight = $imagemaxheight;
$imageoutputwidth = ceil ($imagemaxheight/$imageheight*$imagewidth);
} else
{
$imageoutputwidth = $imagemaxwidth;
$imageoutputheight = $imagemaxheight;
}
# 显示图形
echo (a_start.$imagepath.a_close);
echo (img_start.$imagepath.img_width.$imageoutputwidth.img_height.$imageoutputheight.img_end);
echo (line_break.$adirectory[$i]);
echo (a_end);
}
echo (col_end);
}
}
echo (row_end);
}
echo (table_end);
pagemenu ($browsedir, $ndirectory, $start);
}
function pagemenu ($browsedir, $ndirectory, $pg) {
echo "<br><center><font face="verdana, arial, helvetica, sans-serif" size="1" color="#000033">page:";
$pg_num = 1;
for ($img_num = 0; $img_num <= $ndirectory;) {
if ($pg == $img_num) {
echo "<span class="menulink_1"><a href="thumb.php?browsedir=$browsedir&start=$img_num"> *$pg_num</a> <span>";
} else {
echo "<span class="menulink_2"><a href="thumb.php?browsedir=$browsedir&start=$img_num"> $pg_num</a> <span>";
}
# 建立其他页次的连接, 每页显示四张图, 故页数 $pg_num 每加 1 , $img_num 就加 4 。
$pg_num = $pg_num + 1;
$img_num = $img_num + 4;
}
echo "</font> ";
}
function dirtoarray ($browsedir, $extensions)
{
$nextensions = sizeof ($extensions);
$idirectory = 0;
$directory = dir($browsedir);
while ($entry = $directory->read())
{
for ($i=1; $i<=$nextensions; $i++)
{
$compare = stristr ($entry, $extensions[$i]);
if (strlen($compare) == strlen($extensions[$i]))
{
$adirectory[++$idirectory] = $entry;
break;
}
}
}
$directory->close();
return $adirectory;
}
#主程序
#变量 $browsedir 为图形文件放置的位置。
$browsedir="./images";
# 允许浏览的图形文件扩展名, 放置於数组中, 可自行增加。
$extensions[1] = "jpeg";
$extensions[2] = "jpg";
$extensions[3] = "gif";
$extensions[4] = "png";
showdir (dirtoarray ($browsedir, $extensions), $start);
define ("line_break", "<br>");
define ("table_start", "<table width=600> ");
define ("table_end", "</table> ");
define ("row_start", " <tr> ");
define ("row_end", " </tr> ");
define ("col_start", " <td align=center> ");
define ("col_end", " </td> ");
define ("img_start", "<img src=");
define ("img_end", ">");
define ("img_width", " width=");
define ("img_height", " height=");
define ("a_start", '<a href="');
define ("a_close", '">');
define ("a_end", "</a>");
?>
$image = imagecreatetruecolor(200,200); //创建一张200*200的画布;
代码如下 | 复制代码 |
//创建多种又区分的颜色
imagefilledarc($image,100,$i,200,120,30,80,$blue,img_arc_pie);
//添加百分比数据,当然此处必要的时候可以批量的进行一定的运算将输入输入到图片上
imagejpeg($image); |
这是一款简单实用的php验证码生成程序了,主要是利用了php gd库来生成图形验证码,并且保存到session中,生成的代码是利用rand随机生成的。
代码如下 | 复制代码 |
session_start(); $te1 = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255)); imagesetpixel($im,rand()%100,rand()%30,$te1); |
/*
生成验证的作用是防止用户乱注册了,这是一等的验证程序
*/
1 生成一个简单图像。
2 设定图像的颜色。
3 在图像上绘制直线。
4 在图像上显示文字。
5 在图像中显示中文字符。
6 打开已存在的图片。
7 获取图片的相关属性。
8 函数getimagesize()的用法。
9 为上传图片添加水印效果。
10 生成已有图片的缩略图。
11 使用函数imagecopyresampled()。
12 生成带有底纹的数字验证码图片的php程序。
*/
//1 生成一个简单图像。
代码如下 | 复制代码 |
$width = 200; $img = imagecreatetruecolor($width,$height) or die("不支持gd图像处理"); |
//2 设定图像的颜色。
代码如下 | 复制代码 |
$width = 200; $img = imagecreatetruecolor($width,$height) or die("不支持gd图像处理"); $bg_color = imagecolorallocate($img, 255, 0, 0); imagepng($img); |
//3 在图像上绘制直线。
代码如下 | 复制代码 |
$width = 200; $img = imagecreatetruecolor($width,$height) or die("不支持gd图像处理"); $line_color = imagecolorallocate($img, 255, 255, 255); imagepng($img); |
//4 在图像上显示文字。
代码如下 | 复制代码 |
$width = 200; $img = imagecreatetruecolor($width,$height) or die("不支持gd图像处理"); imageline($img, 0, 40, 200, 40, $line_color); imagepng($img); |
//5 在图像中显示中文字符。
代码如下 | 复制代码 |
$width = 200; $img = imagecreatetruecolor($width,$height) or die("不支持gd图像处理"); //“西游记”3个字16进制字符 //“吴承恩著”4个字16进制字符 imageline($img, 0, 40, 200, 40, $line_color); //竖排显示“西游记”3字 //横排显示“吴承恩著”4字 imagepng($img); //6 打开已存在的图片。 imagejpeg($img); //7 获取图片的相关属性。 $x = imagesx($img); //8 函数getimagesize()的用法。 for($i=0; $i<4; ++$i) |
?>
这是一款利用php自带的功能把指定的大图生成我们指定大小的缩略图代码哦,使用方便简单,只要把设置下面四个参数就可以生成自己想的大小的缩略图哦。
代码如下 | 复制代码 |
function bigtosmallimg($file,$path,$w=120,$h=90) switch($stype){//根据上传好的图形文件类型新建一个用来生成缩略图的源文件。 $desf =imagecreatetruecolor($mw,$mh); imagecopyresampled($desf,$srcf,0,0,0,0,$mw,$mh,$sw,$sh); } |
//此缩略图调用方法
代码如下 | 复制代码 |
bigtosmallimg($file,$path,$w=120,$h=90); /* |
$file = 图片的路径
$path = 生成后保存的路径
$w =图片宽度
$h =图片高度
*/
相关文章
- 本文介绍两种使用 php 生成二维码的方法。 (1)利用google生成二维码的开放接口,代码如下: /** * google api 二维码生成【QRcode可以存储最多4296个字母数字类型的任意文本,具体可以查看二维码数据格式】 * @param strin...2015-10-21
- 这篇文章主要介绍了Java生成随机姓名、性别和年龄的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-01
- 这篇文章主要介绍了C#生成随机数功能,涉及C#数学运算与字符串操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 下面小编就为大家带来一篇jQuery为动态生成的select元素添加事件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-09-01
- 经常制作开发不同的网站的后台,写过很多种不同的后台导航写法。 最终积累了这种最写法,算是最好的吧...2013-09-29
- 关于生成唯一数字ID的问题,是不是需要使用rand生成一个随机数,然后去数据库查询是否有这个数呢?感觉这样的话有点费时间,有没有其他方法呢?当然不是,其实有两种方法可以解决。 1. 如果你只用php而不用数据库的话,那时间戳+随...2015-11-24
- js生成随机数主要用到了内置的Math对象的random()方法。用法如:Math.random()。它返回的是一个 0 ~ 1 之间的随机数。有了这么一个方法,那生成任意随机数就好理解了。比如实际中我们可能会有如下的需要: (1)生成一个 0 - 1...2015-10-21
- 这篇文章主要介绍了c#生成高清缩略图的二个示例,需要的朋友可以参考下...2020-06-25
- 验证码是一个现在WEB2.0中常见的一个功能了,像注册、登录又或者是留言页面,都需要注册码来验证当前操作者的合法性,我们会看到有些网站没有验证码,但那是更高级的验证了,...2016-11-25
- 复制代码 代码如下:function getTagStyle(){ $minFontSize=8; //最小字体大小,可根据需要自行更改 $maxFontSize=18; //最大字体大小,可根据需要自行更改 return 'font-size:'.($minFontSize+lcg_value()*(abs($maxFo...2013-10-04
- 解决办法:$str=”QB”.str_pad(($maxid[0]["max(id)"]+1),5,”0″,STR_PAD_LEFT ); 其中$maxid[0]["max(id)"]+1) 是利用max函数从数据库中找也ID最大的一个值, ID为主键,不会重复。 str_pad() 函数把字符串填充为指...2013-10-04
- 下面小编就为大家带来一篇JS生成某个范围的随机数【四种情况详解】。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧...2016-04-22
- 这篇文章主要介绍了C#生成Word文档代码示例,本文直接给出代码实例,需要的朋友可以参考下...2020-06-25
- 本文主要介绍了Vue组件文档生成工具库的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-11
- 这篇文章主要介绍了PHP简单实现生成txt文件到指定目录的方法,简单对比分析了PHP中fwrite及file_put_contents等函数的使用方法,需要的朋友可以参考下...2016-04-28
- 这款批量生成缩略图代码可以生成指定大小的小图哦,并且支持文件批量上传。 这款教程会用到php文件 view.php config.php funs.php index.php 功能: -------...2016-11-25
- 这篇文章主要介绍了C#实现为一张大尺寸图片创建缩略图的方法,涉及C#创建缩略图的相关图片操作技巧,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了史上最简洁C# 生成条形码图片思路及示例分享,需要的朋友可以参考下...2020-06-25
- if( isset($_FILES['upImg']) ) { if( $userGroup[$loginArr['group']]['upload'] == 0 ) { echo '{"error":"您所在的用户组无权上传图片!"}'; } else...2016-11-25
- $doc = new domdocument('1.0'); // we want a nice output $doc->formatoutput = true; 代码如下 复制代码 $root = $doc->createelement('bo...2016-11-25