如题,默认生成的是72分辨率的,打印不了。请大虾给方法

解决方案 »

  1.   

    ImageMagick 图片处理 函数说明和使用举例
    首先,加载php_imagick.dll扩展模块,也就是在网上找到php_imagick.dll文件,把它放在php.ini同级的目录中,然后,在php.ini里加上extension=php_imagick.dll,重启服务器就可以了。函数说明:$images = new Imagick("ALIM2382.JPG");//新建 Imagick 类
    $images->getImageHeight();//获得图片高
    $images->getImageWidth();//获得图片宽
    $images->thumbnailImage(100,100);////改变图片的大小
    $images->writeImages("ALIM2382.JPG",true);//写一个图像或图像序列
    $images->writeImage("ALIM2382.JPG");//写一个图像
    $images->destroy();//销毁图片
    $images->borderImage(new ImagickPixel("red"), 3, 3);//设置图片边框红色,边框为3
    $images->modulateImage(50, 0, 0); //控制亮度、饱和度、色调
    $images->compositeImage($im, imagick::COMPOSITE_OVER, 10, 20);//将两个图像符合到一起。
    $images->setImageFormat('jpeg');//设置图片格式
    $images->getImageResolution()// 返回图像分辨率,X和Y轴信息
    $images->getImageUnits()//     返回图像分辨率单位
    $images->resampleImage()// 以期望的分辨率重新采样
    $images->setImageResolution()//       设置分辨率
    $images->setImageUnits()//   设置分辨率单位
    echo $images;//显示
    其他请参考 http://cn.php.net/imagick 网站实例演示:$img='ALIM2382.JPG';
    //生成图片
    $images=doimage_middle($img);
    //显示图片
    echo $images;
    //销毁
    $images->destroy();//生成图片效果请参考‘我的相册’。
    //返回文件的扩展名
    function extension($filename)
    {
        $img_ext="";
        $path_parts = pathinfo($filename);
        $img_ext=$path_parts["extension"];
        return $img_ext;
    }
    //生成图片
    function doimage_middle($imgname)
    {
    //获得文件扩展名
    $img_ext=extension($imgname);
        //新建 Imagick 类
    $images = new Imagick($imgname);
        $Height = $images->getImageHeight();
    $Width = $images->getImageWidth();
    //获得宽高的比率
        $ratio = Resize($Height,$Width);
        $new_width = $Width*$ratio;
        $new_height = $Height*$ratio;
    //改变图片的大小为:
    $images->thumbnailImage($new_width,$new_height);
    //写一个图像或图像序列
    $images->writeImage($imgname.'_middle.'.$img_ext);
    return $images;
    }//获得 图片宽高的比率
    function Resize( $height,$width, $maxwidth=400, $maxheight=400){
    $RESIZEWIDTH=$RESIZEHEIGHT=false;
    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;
       }}else{
       $ratio=1;
    }
    return $ratio;
    }===================================
    转的
      

  2.   

    里面有
    $images->setImageResolution()// 设置分辨率
    为具体测试过,你试试
      

  3.   

    exif_imagetype('image.gif');//查看图片信息看看有什么能修改。
      

  4.   

    请问(lusizeng)
    我怎么没有找到extension=php_imagick.dll的?我的是PHPNOW的集成环境
      

  5.   

    <?php
    header("Content-type: image/png");
    $im = @imagecreate(110, 20)
        or die("Cannot Initialize new GD image stream");
    $background_color = imagecolorallocate($im, 0, 0, 0);
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
    imagepng($im);
    imagedestroy($im);
    ?> 
    100*20的图片
      

  6.   

    LuciferStar的这个都没有涉及到分辨率的问题。。到底PHP有没有处理分辨的功能呢?
      

  7.   


    $im = @imagecreate(110, 20);
    设置的就是图片的大小
      

  8.   

    测试环境PHPnow 1.5.6
    到http://download.csdn.net/source/2934663 下载php_imagick_st-Q8.dll
    将其复制到PHPnow-1.5.6\php-5.2.14-Win32\ext目录下面
    然后修改PHPnow-1.5.6\php-5.2.14-Win32\php-apache2handler.ini文件,在extension=php_zip.dll后面添加extension=php_imagick_st-Q8.dll,如
    extension=php_zip.dll
    extension=php_imagick_st-Q8.dll
    在PnCp.cmd中输入23重启Apache服务器即可
    例子代码:
    <?php
    header('Content-type: image/jpeg');
    $image = new Imagick('1.jpg');
    $image->setImageResolution(96,96);   //这里分别是X,Y的分辨率
    $image->thumbnailImage(300, 0);
    $output = $image->getimageblob();
    echo $output;
    ?>输出图片之后,你可以另存图片,然后图片右击属性->摘要-》高级,即可查看图片的分辨率