3000分求PHP图片上传/放大缩小/裁减的源代码 3000分求PHP图片上传/放大缩小/裁减的源代码。能裁减固定大小比如(120*100)的就行。有预览,能显示图片长宽和大小(file size)最好。如果有JSP源代码更好。本人结帖率是99.87%, 可用分8400+急用, 非常非常感谢!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 discuz 里面有类似的功能,可以看一下。 好象以前.NET区发过一个,楼主找找!这种代码其实挺多的. 图片剪切:<?php $resource = NewMagickWand(); MagickReadImage( $resource, 'flower.jpg' ); MagickCropImage( $resource, 200, 50, 0, 0 ); header( 'Content-Type: image/jpeg' ); MagickEchoImageBlob( $resource ); ?> <?php $resource = NewMagickWand(); MagickReadImage( $resource, 'flower.jpg' ); //将原图片宽度重新缩放为100x100 MagickResizeImage( $resource, 100, 100, MW_QuadraticFilter, 1.0 ); header( 'Content-Type: image/gif' ); MagickEchoImageBlob( $resource );?>图片放大: <?php $resource = NewMagickWand(); MagickReadImage( $resource, 'flower.jpg' ); MagickSetFormat($resource, 'JPG'); MagickSetImageCompression($resource, MW_JPEGCompression); //压缩后的损失率,80%为较高,数越小,则失真越大 MagickSetImageCompressionQuality($resource, 80.0); header( 'Content-Type: image/gif' ); MagickEchoImageBlob( $resource );?>图片压缩!! 你可以考虑 结合flash来实现啊? <html><title>图片上传样例</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /></head><body> <div style="width: 500px; text-align: left;"> <?php //如果收到提交请求 if ($_POST['submitted'] == "yes"){ $goodtogo = true; //检查图片是否是0长度. try { if ($_FILES['image']['size'] == 0){ $goodtogo = false; throw new exception ("对不起,不能上传其它格式图片."); } } catch (exception $e) { echo $e->getmessage(); } //检查文件大小. try { if ($_FILES['image']['size'] > 500000){ $goodtogo = false; //显示错误信息. throw new exception ("对不起,图片文件不能超过: " . intval ($_FILES['image']['size'] / 1000) . "KB"); } } catch (exception $e) { echo $e->getmessage(); } //允许上传的mime类型,本例中只允许jpg格式,您可自行添加 $allowedmimes = array ("image/jpeg","image/pjpeg"); try { if (!in_array ($_FILES['image']['type'],$allowedmimes)){ $goodtogo = false; throw new exception ("错误,文件类型必须为 .jpg文件. 我们上传的文件类型为: " . $_FILES['image']['type'] . ""); } } catch (exception $e) { echo $e->getmessage (); } //如果通过提交,则移动到目录中,显示之. if ($goodtogo){ try { if (!move_uploaded_file ($_FILES['image']['tmp_name'],"uploads/".$_FILES['image']['name'].".jpg")){ $goodtogo = false; throw new exception ("上传文件的uploads目录有错误,请检查属性."); } } catch (exception $e) { echo $e->getmessage (); } } if ($goodtogo){ //显示新上传的图片 ?><img src="uploads/<?php echo $_FILES['image']['name'] . ".jpg"; ?>" alt="" title="" /><?php } ?><br /><a href="Javascript:history.back(-1)">再次上传</a><?php } //显示表单. if ($_POST['submitted'] != "yes"){ ?> <form action="" method="post" enctype="multipart/form-data"> <input type="hidden" name="submitted" value="yes" /> 图片上传 (只能上传.jpg文件, 文件大小不能超过500KB):<br /> <input type="file" name="image" /><br /> <input type="submit" value="提交" style="margin-top: 10px;" /> </form> <?php } ?> </div></body></html>记得安装你的GD库和ImageMagick 把phpcms的拿过来吧,它是我见过最好的图片处理器,裁减大小,比例随便。透明显示、鼠标拖拽。预览功能。至于放功能为没见过这样需求。因为肯定会失真。 以前没有试过这个功能,学习一下,csdn 的图片上传就是裁减的,可以借鉴 这段代码哪里错了 提问一个计数器的问题 有个严重不明白的问题,紧急需要帮忙 点击链接出现”Bad Request“的问题,急救! 转:权限设计 有用质数组成权限集合的,有用2的n次幂组成权限值集合的,我都是用直接将用户和权限代码(自定义格式)存储的,判断时,wh 怎样将PHP函数与按钮句柄联系起来? 求救~~~~~~~~~~~ 正则表达式匹配出来实现的问题。 在csdn.php呆了将近五个月,挺舍不得大家的,散分...... 请教,装好php4后,如何进行php.ini的一般设置,谢谢。 这个问题很有意思 PHP循环插入数据库为什么只是可以插入1000多条就停止了
<?php
$resource = NewMagickWand();
MagickReadImage( $resource, 'flower.jpg' );
MagickCropImage( $resource, 200, 50, 0, 0 );
header( 'Content-Type: image/jpeg' );
MagickEchoImageBlob( $resource );
?>
$resource = NewMagickWand();
MagickReadImage( $resource, 'flower.jpg' );
//将原图片宽度重新缩放为100x100
MagickResizeImage( $resource, 100, 100, MW_QuadraticFilter, 1.0 );
header( 'Content-Type: image/gif' );
MagickEchoImageBlob( $resource );
?>
图片放大:
<?php
$resource = NewMagickWand();
MagickReadImage( $resource, 'flower.jpg' );
MagickSetFormat($resource, 'JPG');
MagickSetImageCompression($resource, MW_JPEGCompression);
//压缩后的损失率,80%为较高,数越小,则失真越大
MagickSetImageCompressionQuality($resource, 80.0);
header( 'Content-Type: image/gif' );
MagickEchoImageBlob( $resource );
?>图片压缩!!
<title>图片上传样例</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</head>
<body>
<div style="width: 500px; text-align: left;">
<?php
//如果收到提交请求
if ($_POST['submitted'] == "yes"){
$goodtogo = true;
//检查图片是否是0长度.
try {
if ($_FILES['image']['size'] == 0){
$goodtogo = false;
throw new exception ("对不起,不能上传其它格式图片.");
}
} catch (exception $e) {
echo $e->getmessage();
}
//检查文件大小.
try {
if ($_FILES['image']['size'] > 500000){
$goodtogo = false;
//显示错误信息.
throw new exception ("对不起,图片文件不能超过: " . intval ($_FILES['image']['size'] / 1000) . "KB");
}
} catch (exception $e) {
echo $e->getmessage();
}
//允许上传的mime类型,本例中只允许jpg格式,您可自行添加
$allowedmimes = array ("image/jpeg","image/pjpeg");
try {
if (!in_array ($_FILES['image']['type'],$allowedmimes)){
$goodtogo = false;
throw new exception ("错误,文件类型必须为 .jpg文件. 我们上传的文件类型为: " . $_FILES['image']['type'] . "");
}
} catch (exception $e) {
echo $e->getmessage ();
}
//如果通过提交,则移动到目录中,显示之.
if ($goodtogo){
try {
if (!move_uploaded_file ($_FILES['image']['tmp_name'],"uploads/".$_FILES['image']['name'].".jpg")){
$goodtogo = false;
throw new exception ("上传文件的uploads目录有错误,请检查属性.");
}
} catch (exception $e) {
echo $e->getmessage ();
}
}
if ($goodtogo){
//显示新上传的图片
?><img src="uploads/<?php echo $_FILES['image']['name'] . ".jpg"; ?>" alt="" title="" /><?php
}
?><br /><a href="Javascript:history.back(-1)">再次上传</a><?php
}
//显示表单.
if ($_POST['submitted'] != "yes"){
?>
<form action="" method="post" enctype="multipart/form-data">
<input type="hidden" name="submitted" value="yes" />
图片上传 (只能上传.jpg文件, 文件大小不能超过500KB):<br /> <input type="file" name="image" /><br />
<input type="submit" value="提交" style="margin-top: 10px;" />
</form>
<?php
}
?>
</div>
</body>
</html>记得安装你的GD库和ImageMagick
至于放功能为没见过这样需求。因为肯定会失真。