3000分求PHP图片上传/放大缩小/裁减的源代码。能裁减固定大小比如(120*100)的就行。有预览,能显示图片长宽和大小(file size)最好。如果有JSP源代码更好。本人结帖率是99.87%,  可用分8400+急用, 非常非常感谢!!

解决方案 »

  1.   

    discuz 里面有类似的功能,可以看一下。
      

  2.   

    好象以前.NET区发过一个,楼主找找!这种代码其实挺多的.
      

  3.   

    图片剪切:
    <?php
    $resource = NewMagickWand(); 
    MagickReadImage( $resource, 'flower.jpg' ); 
    MagickCropImage( $resource, 200, 50, 0, 0 ); 
    header( 'Content-Type: image/jpeg' ); 
    MagickEchoImageBlob( $resource ); 
    ?>
      

  4.   

    <?php 
    $resource = NewMagickWand();
    MagickReadImage( $resource, 'flower.jpg' );
    //将原图片宽度重新缩放为100x100
    MagickResizeImage( $resource, 100, 100, MW_QuadraticFilter, 1.0 );
    header( 'Content-Type: image/gif' );
    MagickEchoImageBlob( $resource );
    ?>
    图片放大:
      

  5.   


    <?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 );
    ?>图片压缩!!
      

  6.   

    你可以考虑 结合flash来实现啊?
      

  7.   

    <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
      

  8.   

    把phpcms的拿过来吧,它是我见过最好的图片处理器,裁减大小,比例随便。透明显示、鼠标拖拽。预览功能。
    至于放功能为没见过这样需求。因为肯定会失真。
      

  9.   

    以前没有试过这个功能,学习一下,csdn 的图片上传就是裁减的,可以借鉴