php图片缩放裁剪与水印代码

代码语言:php

所属分类:图片处理

代码描述:php图片缩放裁剪与水印代码

代码标签: 裁剪 水印

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<?php
/**
* 图片裁剪
* @param string $picname 原图路径
* @param string $x $Y 裁剪开区域左上角的点的坐标
* @param string $width 裁剪宽度
* @param string $height 裁剪高度
* @param string $pre 处理后图片名的前缀名
* @return String 返回后的图片名称(带路径),如a.jpg=>n_a.jpg
*/
function crop($picname, $width, $height, $x = 0, $y = 0, $pre = "n_") {
    $picnameinfo = getimageSize($picname); //获取图片源的基本信息
    //创建源图的实例
    $src = imagecreatefromstring(file_get_contents($picname));
    //裁剪开区域左上角的点的坐标
    $x = 100;
    $y = 12;
    //裁剪区域的宽和高
    $width = 200;
    $height = 400;
    //最终保存成图片的宽和高,和源要等比例,否则会变形
    $final_width = 100;
    $final_height = round($final_width * $height / $width);

    //将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升
    $new_image = imagecreatetruecolor($final_width, $final_height);
    imagecopyresampled($new_image, $src, 0, 0, $x, $y, $final_width, $final_height, $width, $height);


    //输出图像(根据源图像的类型,输出为对应的类型)
    $picinfo = pathinfo($picname); //解析源图像的名字和路径信息
    $newpicname = $picinfo["dirname"]."/".$pre.$picinfo["basename"];
    switch ($picnameinfo[2]) {
        case 1:
            imagegif($new_image, $newpicname);
            break;
        case 2:
            imagejpeg($new_image, $newpicname);
            break;
        case 3:
            imagepng($new_image, $newpicname);
            break;
    }
    //释放图片资源
    imagedestroy($src);
    imagedestroy($new_image);

    return $newpicname;
}

/**
* 为一张图片添加上一个logo图片水印(以保存的方式实现)
* @param string $picname 被处理图片源
* @param string $logo 水印图片
* @param string $pre 处理后图片名的前缀名
* @return String 返回后的图片名称(带路径),如a.jpg=>n_a.jpg
*/
function watermark($picname, $logo, $pre = "n_") {
    $picnameinfo = getimageSize($picname); //获取图片源的基本信息
    $logoinfo = getimageSize($logo); //获取logo图片的基本信息
    //var_dump($logoinfo);
    //根据图片类型创建出对应的图片源
    switch ($picnameinfo[2]) {
        case 1: //gif
            $im = imagecreatefromgif($picname);
            break;
        case 2: //jpg
            $im = imagecreatefromjpeg($picname);
          .........完整代码请登录后点击上方下载按钮下载查看

网友评论0