社区
基础编程
帖子详情
求救!PHP生成缩略图,但不能用GD
liumyong
2004-08-21 12:36:46
如题,PHP生成缩略图,有几种方法,还有GD,在PHP.ini 如何设置。
大侠们,如有代码或有用的观点,本人定当重谢(谢分)
...全文
472
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)
java 扫雷源代码 带有详细的注释
菜鸟练习~~ 加入了“
求救
”按钮,在无法继续通过计算扫雷时,可以点出此获知随机的一个未标记雷的位置; 加入了计时器; 加入了作弊功能……嘿嘿,按下键盘上的某键,可以知道所有雷的位置,吼吼
求救
!!!!
为什么我在cmd中输入pip install --user pygal==1.7 报错了!!怎么解决?? 如图,求大神们帮帮忙 想下一个Pygal学习 Windows的
缩略图
不显示
php
,网站首页
缩略图
不显示
这是网站:http://www.itfaner.com这是不开启七牛的首页这是开启七牛缓存还有显示叉叉的图片在别的主题就可以直接显示图片(文章页图片显示正常),跟换主题之后就变叉叉了。蛋疼不已。
求救
!!!回复内容:这是网站:http://www.itfaner.com这是不开启七牛的首页这是开启七牛缓存还有显示叉叉的图片在别的主题就可以直接显示图片(文章页图片显示正常),跟换主题之后就变叉叉了。蛋...
maya前台渲染_maya前台渲染_maya前台渲染渲染不动!!!急
求救
!!!!!!!_maya前台渲染脚本...
网友求助:maya前台渲染_maya前台渲染渲染不动!!!急
求救
!!!!!!!_maya前台渲染脚本问题一直卡在这个界面,怎么都渲染不动。但是后台渲染没有问题,我没有办法进行前台测试很伤啊!!!求大神解答!!!最佳答案那就后台渲染,不用开软件的,上网查一下render命令,在运行窗口输入cmd进入DOS下炒作很简单。补充:换个简单的场景渲染看看,用同样的渲染器,如果可以渲染,就是你场景的问题了。追...
新手
求救
!!
新手
求救
业界大佬!!!
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章