【PHP】图片操作类

刚学php不久,在做一个项目一步步的积累和学习,希望分享的东西能其他人带来帮助,少走弯路。

<?php
/**
 *    图片操作类
 * @author Harlan Song
 */

/**
 * 压缩图片,以宽度为基准,高度等比例压缩。
 * @param string $srcPath 源图片路径
 * @param string $newPath 压缩后图片路径
 *  @param string $newWidth 最大宽度
 */
function commpressImage($srcPath,$newPath,$newWidth){
    $info = getimagesize($srcPath);
    $width = $info[0];
    $height = $info[1];
    $mime = $info[‘mime‘];//得到图片类型
    if($width > $newWidth){
        $newHeight = $height / ($width / $newWidth);
        $newImg = imagecreatetruecolor($newWidth,$newHeight);
        switch($mime){
            case "image/jpeg":
                $img = @imagecreatefromjpeg($srcPath);
                imagecopyresampled($newImg,$img,0,0,0,0,$newWidth,$newHeight,$width,$height);
                imagejpeg($newImg,$newPath);
                break;
            case "image/png":
                $img = @imagecreatefrompng($srcPath);
                imagecopyresampled($newImg,$img,0,0,0,0,$width,$height,$newWidth,$newHeight);
                imagepng($newImg,$newPath);
                break;
            case "image/gif":
                $img = @imagecreatefromgif($srcPath);
                imagecopyresampled($newImg,$img,0,0,0,0,$width,$height,$newWidth,$newHeight);
                imagegif($newImg,$newPath);
                break;
            case "image/wbmp":
                $img = @imagecreatefromwbmp($srcPath);
                imagecopyresampled($newImg,$img,0,0,0,0,$width,$height,$newWidth,$newHeight);
                imagewbmp($newImg,$newPath);
                break;
        }
    }else{
        //源图片宽度比指定值小,不压缩直接复制。
        copy($srcPath,$newPath);
    }
}

?>

【PHP】图片操作类

时间: 2024-10-03 23:47:56

【PHP】图片操作类的相关文章

php 图片操作类,支持生成缩略图,添加水印,上传缩略图

<?php class Image {     //类开始     public $originimage = ""; //源图片文件地址     public $imageext = ""; //源图片格式     public $thumbimage = ""; //缩略图文件存放地址     public $thumb_maxwidth = 1440; //缩略图最大宽度     public $thumb_maxheight = 9

bootstrap-wysiwyg 结合 base64 解码 .net bbs 图片操作类 (二) 图片裁剪

图片裁剪参见: http://deepliquid.com/projects/Jcrop/demos.php?demo=thumbnail        一个js插件 http://www.mikesdotnetting.com/article/95/upload-and-crop-images-with-jquery-jcrop-and-asp-net  一个外国人写的例子,基于 asp.net webform 的.别人 在 2009 年 写的啊,我却在 2014年 才使用. 一共2个aspx

.NET图片操作类,包含图片格式转换、图片缩放、 文字水印、图片水印、路径转换

using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Drawing.Imaging;using System.Drawing;using System.Web;namespace ZC.Utils{  public  static class ImageHelper  { #region 图片格式转换      /// <summary>      /// 图片

bootstrap-wysiwyg 结合 base64 解码 .net bbs 图片操作类 (三) 图片裁剪

官方的例子 是 长方形的. 我这里 用于 正方形的头像 所以  做如下  修改 #preview-pane .preview-container { width: 73px; height: 73px; overflow: hidden; } 可惜很莫名奇妙的是 有的时候 他自动把图片 变小了,而且针对的都是 小图,大图 都显示正常 发现它的源码 有问题 ,做出 如下修改: var boundx = $img[0].naturalWidth;// $img.width(),    boundy

刚整了一个数据库操作类,但是可以用吗?

今天闲来无事,把以前自己搞的一个数据库操作类重新整理了一下,把命名规范了一下,位置和功能重新规划了一下. 源代码下载:http://files.cnblogs.com/xiaoshuai1992/xsFrameWork.SqlServer.zip 请先看图片和介绍 DbOperate文件夹 DbAccess类:核心类,运用Ado.net 对数据库进行操作. DbInParameter :传入DbAccess的参数,如参数,sql语句,sp名称,sp是执行还是返回数据. DbOutParamete

拍照、本地图片工具类(兼容至Android7.0)

拍照.本地图片工具类:解决了4.4以上剪裁会提示"找不到文件"和6.0动态授予权限,及7.0报FileUriExposedException异常问题. package com.hb.weex.util; import android.Manifest; import android.app.Activity; import android.app.Dialog; import android.content.ClipData; import android.content.Conten

[C#] 常用工具类——文件操作类

/// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在</para> /// <para> IsImgFilename:判断文件名是否为浏览器可以直接显示的图片文件名</para> /// <para> CopyFiles:复制指定目录的所有文件</para> /// <para> MoveFi

word 文档操作类,可以读出word中书签 批量替换内容,直接调用

using System;using System.Collections.Generic;using System.Text;using Word = Microsoft.Office.Interop.Word; namespace ELO.BLL{ /* * Description:用于Word基本操作类 */public partial class Helper_Word { #region 私有成员 private Word.ApplicationClass _wordApplicati

从0开始,一起搭框架、做项目(3)公共基础数据操作类 RepositoryBase

索引 [无私分享:从入门到精通ASP.NET MVC]从0开始,一起搭框架.做项目 目录索引 简述 今天我们写一个基础数据的操作类,如果里面有大家不理解的地方,可采取两种方式,第一:提出来,第二:会用就行.这个类呢我一般不去修改它,因为基础操作类,大家也可以直接拷贝到自己的项目中. 项目准备 我们用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家对ASP.NET MVC有一个初步的理解,理论性的东西我们不做过多解释,有些地方不理解也没关系,会用就行了,用的多