zoukankan      html  css  js  c++  java
  • PHP生成缩略图(1)--简单缩略图

    原理:就是将大图缩小并另存为小图

    以此图为例,使其生成缩略图!

    首先要使用到以下函数

    imagecopyresampled() 重采样拷贝部分图像并调整大小
    bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
    参数的意义:目标图片资源,原图资源,目标图片开始粘贴的X坐标,目标图片开始粘贴的y坐标,原图上开始复制的x坐标,原图上开始复制的y坐标,目标图的宽,目标图的高,原图的宽,原图的高,共十个参数! 

    imagecreatetruecolor()新建一个真彩色图像
    resource imagecreatetruecolor ( int $x_size , int $y_size )
    参数的意义:画布的尺寸!

    分析:确定两个函数的参数

    原图

    目标图:

    代码如下:

    //创建一个真彩色的图像,支持的颜色数较多
    $dst = imagecreatetruecolor(200, 200); //目标图宽高
    $src = imagecreatefromjpeg('./03.jpg'); //源图
    
    //设置背景颜色并填充
    $bgcolor = imagecolorallocate($dst, 255, 0, 0);
    imagefill($dst,0,0,$bgcolor);
    
    $width = imagesx($src);    //源图的宽度
    $height = imagesy($src);    //源图的高度
    
    //imagecopyresampled($dst,$src,0,0,600,80,200,200,290,290);    //裁剪
    
    //将大图完整的生成缩略图
    //imagecopyresampled($dst,$src,0,0,0,0,200,200,$width,$height);
    
    //缩略图按坐标摆放
    imagecopyresampled($dst,$src,10,10,600,80,180,180,290,290);
    
    //输出到浏览器
    header('content-type:image/png');
    imagepng($dst);
    
    //销毁图片资源
    imagedestroy($dst);
    imagedestroy($src);
    
     ?>

    结果如下:

    裁剪:

    imagecopyresampled($dst,$src,0,0,600,80,200,200,290,290); 

    将大图完整的生成缩略图:
    imagecopyresampled($dst,$src,0,0,0,0,200,200,$width,$height);

    缩略图按坐标摆放:
    imagecopyresampled($dst,$src,10,10,600,80,180,180,290,290);

  • 相关阅读:
    Win7 usb无法识别,感叹号,没有盘符
    MVMM 中的ViewModel 实现IsLoading进度条
    菜鸟喜欢的C# 入门认识和添加,修改,删除 文件夹 文件 大全(转)
    (转)windows负载平衡
    关于刷新页面和用法.(转)
    bat文件调用dos命令 (dos淘金)
    flash新闻轮转:图片和链接从数据库读取之我见
    dling 624+and 2100ap && wireless card&wifi
    html与css小技巧
    小型系统数据库安全小结
  • 原文地址:https://www.cnblogs.com/zxf100/p/6744012.html
Copyright © 2011-2022 走看看