图片处理
优质
小牛编辑
142浏览
2023-12-01
classpath : herosphp\image\VerifyCode
API说明
方法名称 | 说明 |
---|---|
getInstance | 创建验证码实例 |
configure | 配置验证码信息 |
generate | 产生验证码字符 |
show | 显示验证码图片 |
举个栗子:
$config = array('x'=>10, 'y'=>30, 'w'=>120, 'h'=>50, 'f'=>22);
$verify = VerifyCode::getInstance();
$verify->configure($config)->generate(5); //产生5位字符串
$verify->show('png');
生成缩略图
classpath : herosphp\image\ImageThumb
ImageThumb::makeThumb($size, $imgSrc, $outfile, $overwrite, $quality)
为指定的图片生成缩略图
参数名 | 类型 | 参数说明 |
---|---|---|
$size | array | 缩略图大小,$arr[0] => 宽,$arr[1] => 高。 如果 $arr[0] = 0,表示高度固定,宽度等比缩放。如arra y(0, 700), 反过来如果 $arr[1] = 0, $arr[0] > 0, 则表示固定宽度,高度自适应。 如果 $arr[0] > 0, $arr[1] > 0, 则表示直接缩放成指定的宽高。 |
$imgSrc | string | 原图路径 |
$outfile | string | 输出缩略图路径 |
$overwrite | bool | 是否覆盖原图 |
$quality | int | 缩略图的压缩质量 |
crop($position, $size, $imgSrc, $outfile, $overwrite, $quality)
裁剪图片, 其中$position参数指的是裁剪的起始位置 array(x, y)。其他的参数参考ImageThumb::makeThumb
还有一个 setFlag($flag)
方法,用来设置缩放方式的, 和上面的 $size
参数配合使用:
- 0 => 直接缩放到目标大小(默认)
- 1 => 等比缩放到指定的size
- 2 => 指定宽度或者高度,另一维度按照等比缩放, 必须指定某一维度,而另一维度的值为0
- array(0, 700) 高度最大700, 宽度等比缩放
- array(700, 0) 宽度最大700,高对等比缩放
其他API
方法名 | 方法说明 |
---|---|
saveImage | 保存图片 |
showImage | 输出图片 |
$thumb = ImageThumb::getInstance();
$thumb->makeThumb(array(100, 100), 'src.jpg', 'dist.jpg', false);
$thumb->crop(array(0,0), array(100,100), 'src.jpg', 'crop.jpg', false);
$thumb->showImage();
生成图片水印
classpath : herosphp\image\ImageWater
API
方法名称 | 方法说明 |
---|---|
getInstance() | 创建图片实例 |
imageWaterMark( $_img_src, $_water_path) | 创建图片水印,$_img_src => 原图路径, $_water_str => 水印图片路径 |
stringWaterMark( $_img_src, $_water_str ) | 创建文字水印,$_img_src => 原图路径, $_water_str => 水印字体 |
saveImage($filename, $quality = 90) | 保存图片 |
setFont | 设置 水印字体 |
setFontSize | 设置水印字体大小 |
setPosition | 设置 水印位置 |
setAlpha | 设置水印透明度 |
setFontColor | 设置字体颜色, 接受一个数组参数,如 array(210, 0, 0) |
水印字体
- '0' => 'suti.ttf', //新苏鹅卵石体
- '1' => 'mao-ze-dong.ttf', //毛泽东体
- '2' => 'hanyi-xiu-ying.ttf', //汉仪秀英繁体
- '3' => 'wending-huocai.ttf', //文鼎火柴体 (英文字体)
- '4' => 'ruixian-jt.ttf', //张海山锐线体简
- '5' => 'hanyi-zhujie.ttf', //汉仪竹节繁体
- '6' => 'ye-jing.ttf' //液晶体(英文字体)
水印位置
- 0 => 左上角
- 1 => 右上角
- 2 => 右下角
- 3 => 左下角
- 4 => 居中
- 5 => 随机