Processing math: 100%

一个根据宽高补白的缩略图

<?php

//获取原图的目录
$file='./src.jpg';

//有一个原图创建一个新的图像
fileimg=imagecreatefromjpeg(file);
//缩略图的大小
tempw=100;temp_h=100;
//创建缩略图的画布
tempimg=imagecreatetruecolor(temp_w, $temp_h);


//填充颜色
bgcolor=imagecolorallocate(temp_img,0xff, 0xff, 0xff);
imagefill(tempimg,0,0,bg_color);//填充的区域

 


//采集区域
srcareax=0;src_area_y=0;
srcareaw=src_w = imageSx(fileimg);src_area_h = srch=imagesy(file_img);

 

//判断
//  宽之比与高之比的关系
if (srcw/temp_w > srch/temp_h) {
 // 宽缩放大,宽标准
 tempareaw=temp_w;
 tempareah=src_h/srcwtemp_area_w;//
} else {
 // 高缩放大,高标准
 tempareah=temp_h;
 tempareaw=src_w/srchtemp_area_h;
}
tempareax=(temp_w-tempareaw)/2;temp_area_y = (temphtemp_area_h) / 2;

//输出
//imagecopyresampled(tempimg,file_img, tempareax,temp_area_y, srcareax,src_area_y, tempw,temp_h, srcw,src_h);

imagecopyresampled(tempimg,file_img, tempareax,temp_area_y, srcareax,src_area_y, tempareaw,temp_area_h, srcareaw,src_area_h);
//定义输出的文件
header('content-Type:image/jpeg');

imagejpeg($temp_img);

imagedestroy(fileimg);imagedestroy(temp_img);

 

posted @   zwb8032fang  阅读(190)  评论(0编辑  收藏  举报
编辑推荐:
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
阅读排行:
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· Winform-耗时操作导致界面渲染滞后
· Phi小模型开发教程:C#使用本地模型Phi视觉模型分析图像,实现图片分类、搜索等功能
· 语音处理 开源项目 EchoSharp
· drools 规则引擎和 solon-flow 哪个好?solon-flow 简明教程
点击右上角即可分享
微信分享提示