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);

  • 相关阅读:
    s3c2440的2440init.s的分析(转载)
    sql server错误状态列表(转载)
    vector类、迭代器、bitset类(转载)
    VC++以ADO方式连接SQL SERVER
    WinCE流设备驱动简介及GPIO驱动的实现(转载)
    .obj, .lib, .dll, .exe的关系(转载)
    利用DynamicExpression.ParseLambda实现Eval
    Matching Balanced Constructs with .NET Regular Expressions
    VB.NET and C# Comparison【转】
    ReportViewer一个简单例子
  • 原文地址:https://www.cnblogs.com/zxf100/p/6744012.html
Copyright © 2011-2022 走看看