社区
基础编程
帖子详情
求救!PHP生成缩略图,但不能用GD
liumyong
2004-08-21 12:36:46
如题,PHP生成缩略图,有几种方法,还有GD,在PHP.ini 如何设置。
大侠们,如有代码或有用的观点,本人定当重谢(谢分)
...全文
516
28
打赏
收藏
求救!PHP生成缩略图,但不能用GD
如题,PHP生成缩略图,有几种方法,还有GD,在PHP.ini 如何设置。 大侠们,如有代码或有用的观点,本人定当重谢(谢分)
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
野马
2004-08-29
打赏
举报
回复
我曾经用GD写过一个缩略图的类,,不过不是用GD库,我就不知道如何产生缩略图了
countstars
2004-08-29
打赏
举报
回复
还有其他扩展支持图片编辑的,比如freeimage,呵呵
liumyong
2004-08-28
打赏
举报
回复
有谁贴一imagemagick生成GIF的缩略图的代码,让我学习一下
cnfreely
2004-08-26
打赏
举报
回复
不用gd库,二进制读写文件或数据库
raid79
2004-08-26
打赏
举报
回复
up
ticks
2004-08-26
打赏
举报
回复
janlon(Roydo-Myths)
怎么修改上传图片的目录
yzs1013
2004-08-25
打赏
举报
回复
$imgpath="c:/img.pic";//源图路径
$newimgpath="c/img_small.pic";//生成的缩略图路径
$srcSize= getImageSize($imgpath);
$srcRatio=$srcSize[0]/$srcSize[1];
if(100*$srcRatio>120){
$w=120;$h=0; //要求按原图比例缩扩后,宽不能大于120像素,
}else{
$w=0;$h=87; //要求按原图比例缩扩后高不能大于87像素
}
if($srcSize[2]==2)
@makeimage($imgpath,$newimgpath,$w,$h);
FUNCTION makeimage($srcFile,$dstFile,$dstW,$dstH) {
global $wangming,$wangming2,$news,$tugao,$tukuan,$zdimg;
$quality=80; //设置清淅度80%
$srcFile=str_replace($wangming,$news,$srcFile);
$srcFile=str_replace($wangming2,$news,$srcFile);
if(!file_exists($srcFile) || $srcFile==""){
return;
}
if(file_exists($srcFile2)){
$srcFile=$srcFile2;
}
$srcSize= getImageSize($srcFile);
$srcW=$srcSize[0];
$srcH=$srcSize[1];
$srcRatio=$srcSize[0]/$srcSize[1];
if($dstW==0){
$dstW=ceil($dstH*$srcRatio);
}
if($dstH==0){
$dstH=ceil($dstW/$srcRatio);
}
$tugao=$dstH;
$tukuan=$dstW;
$ni=imageCreateTrueColor($dstW,$dstH);
switch ($srcSize[2]) {
case 1: $im = imageCreateFromGif($srcFile);break;
case 2: $im = imageCreateFromJpeg($srcFile);break;
case 3: $im = imageCreateFromPng($srcFile);break;
default: return false; break;
}
ImageCopyResampled($ni,$im,0,0,0,0,$dstW,$dstH,$srcW,$srcH);
switch ($srcSize[2]) {
case 1:
case 2: imageJpeg($ni,$dstFile,$quality); break;
case 3: imagePng($ni,$dstFile); break;
}
}
luza
2004-08-25
打赏
举报
回复
zairwolfi(君子兰)
不是,是一个国外的相册程序,要用到imagemagick,可惜我们的系统管理员太差,只会WIN2000,不会LINUX,所以只能调用 exec(), 如果是LINUX就好了,可以直接用用convert()。
我开始也用GD2,结果发现不管怎么搞都不好看,还是imagemagick爽!
不知各位大侠还有什么好软件吗???
zairwolfi
2004-08-25
打赏
举报
回复
luza,httop://www.xgrb.cn/photo/index.php你是用的imagemagick生成的?效果还不错。做的图片背景也挺漂亮。
junyi2003
2004-08-25
打赏
举报
回复
imagemagick不错,正在使用中.
iStringTheory
2004-08-25
打赏
举报
回复
可以尝试一下SVG格式图片,是用xml描述的,不过对客户端有些要求,要有svg格式浏览器,不过好像现在IE6应该有的
zairwolfi
2004-08-25
打赏
举报
回复
那样会不会有点太浪费精力和资源了?
tod204
2004-08-25
打赏
举报
回复
一般来说都是用gd库的.
但是你如果算法不错的话,可以自己编写类似gd库的编码规则..
hackfan
2004-08-24
打赏
举报
回复
方法肯定有的
你得到图片的二进制
根据编码规范
缩小以后,二进制输出
肯定没问题=.=
等于一个小型的GD -.-
多菜鸟
2004-08-24
打赏
举报
回复
缩略图一般都是用GD吧,还有其它方法吗??
关注中。。
34n
2004-08-24
打赏
举报
回复
ImageMagick,freeImage也行
liumyong
2004-08-24
打赏
举报
回复
几天没来了,谢谢大家热情参与!
GD设置问题已解决,可基本问题还没解决。
怎样用其它方法实现文件缩略?
最近琢磨PHPBB的代码,发现GIF文件不能显示缩略,请高人指点。
luza
2004-08-23
打赏
举报
回复
是你自己的服务器吗?如果是,不要用GD了,效果太差,用ImageMagick吧,保你满意!!
有时间的话我想写个它的使用方法,效果可以看看 httop://www.xgrb.cn/photo/index.php
hahawen
2004-08-23
打赏
举报
回复
up
janlon
2004-08-23
打赏
举报
回复
设置我就不说了,前面有众多高手指点,不过,要注意的时:gd不能与gd2同时使用,就是说只能打开其中一个,要么是gd,要么是gd2!!!
这里给你一段代码,看是否对你在所帮助:
代码如下:
---------------------------------------------------------------------
<?
$FILENAME=time()."_s";
// 生成图片的宽度
$RESIZEWIDTH=200;
// 生成图片的高度
$RESIZEHEIGHT=200;
function ResizeImage($im,$maxwidth,$maxheight,$name){
$width = imagesx($im);
$height = imagesy($im);
if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){
if($maxwidth && $width > $maxwidth){
$widthratio = $maxwidth/$width;
$RESIZEWIDTH=true;
}
if($maxheight && $height > $maxheight){
$heightratio = $maxheight/$height;
$RESIZEHEIGHT=true;
}
if($RESIZEWIDTH && $RESIZEHEIGHT){
if($widthratio < $heightratio){
$ratio = $widthratio;
}else{
$ratio = $heightratio;
}
}elseif($RESIZEWIDTH){
$ratio = $widthratio;
}elseif($RESIZEHEIGHT){
$ratio = $heightratio;
}
$newwidth = $width * $ratio;
$newheight = $height * $ratio;
if(function_exists("imagecopyresampled")){
$newim = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}else{
$newim = imagecreate($newwidth, $newheight);
imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}
ImageJpeg ($newim,$name . ".jpg");
ImageDestroy ($newim);
}else{
ImageJpeg ($im,$name . ".jpg");
}
}
if($_FILES['image']['size']){
if($_FILES['image']['type'] == "image/pjpeg"){
$im = imagecreatefromjpeg($_FILES['image']['tmp_name']);
}elseif($_FILES['image']['type'] == "image/x-png"){
$im = imagecreatefrompng($_FILES['image']['tmp_name']);
}elseif($_FILES['image']['type'] == "image/gif"){
$im = imagecreatefromgif($_FILES['image']['tmp_name']);
}
if($im){
if(file_exists("$FILENAME.jpg")){
unlink("$FILENAME.jpg");
}
ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME);
ImageDestroy ($im);
}
}
?>
<img src="<? echo($FILENAME.".jpg?reload=".rand(0,999999)); ?>"><br><br>
<form enctype="multipart/form-data" method="post">
<br>
<input type="file" name="image" size="50" value="浏览"><p>
<input type="submit" value="上传图片">
</form>
</body>
</html>
---------------------------------------------------------------------
加载更多回复(8)
Debian 10 LAMP 部署实战:Apache+
PHP
+MariaDB 原生适配指南
LAMP 是 Linux 环境下经典的 Web 技术栈,其核心由 Apache(Web 服务器)、
PHP
(服务端脚本语言)和 MariaDB(关系型数据库)构成。理解三者在 Debian 发行版中的模块加载机制、认证策略与配置协同逻辑,是实现稳定部署的关键。Debian 10(Buster)以稳定性为优先,采用
PHP
7.3、MariaDB 10.3 和 Apache 2.4 的特定组合,其模块启用顺序(如 a2enmod
php
7.3 必须在 mpm_prefork 后)、默认认证插件(unix_soc
Ubuntu 22.04手动部署WordPress完整指南:LAMP环境从零构建
WordPress是一个基于
PHP
的开源内容管理系统,其稳定运行依赖Linux、Apache、MySQL和
PHP
组成的LAMP技术栈。理解LAMP原理是实现可运维建站的基础——Apache负责HTTP请求路由与伪静态支持,MySQL提供结构化数据存储并需严格权限隔离,
PHP
作为应用层引擎必须加载mysql、
gd
、curl等核心扩展。该技术组合不仅支撑博客与企业官网,更广泛应用于电商、会员系统等生产场景。在Ubuntu系统中,手动安装而非依赖apt一键包,能精准控制版本、权限与安全策略,避免路径错位、扩展缺失
栈实现四则运算(C语言)
打开链接下载源码: https://pan.quark.cn/s/a4b39357ea24 Data-Structres 我的博客 :叫我皮卡丘 Stargazers over time 前言 中国大学MOOC上浙大的《数据结构》广受好评,原因有二,一是基础,简单易懂,老师讲得也清楚,另一大优点就是配套的每周相应知识点的编程题了,有难有易,容易题帮助巩固知识点,难题开阔视野。 笔记加入了一些自己的想法,题解也有思路说明 课程地址:https://www.icourse163.org/course/ZJU-93001 现将笔记和题解记录如下 基本概念 基本概念 线性结构 线性表 堆栈 队列 树 树的定义 二叉树的遍历 二叉搜索树 平衡二叉树 堆 哈夫曼树 并查集的实现和优化 图 图的定义 图的遍历 最短路径 最小
生成
树 排序 排序 散列查找 散列查找 KMP 注:Saving James Bond - Hard Version 和 关键活动 实在没时间做了... 完结撒花,弱弱求个 star~
科技服务机构如何通过定制化报告增强服务合规性与客户粘性?.docx
科技服务机构如何通过定制化报告增强服务合规性与客户粘性?
基础编程
21,889
社区成员
140,329
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章