GD库生成图片的时候,能设置生成图片的分辨率吗? 如题,默认生成的是72分辨率的,打印不了。请大虾给方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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;}===================================转的 里面有$images->setImageResolution()// 设置分辨率为具体测试过,你试试 exif_imagetype('image.gif');//查看图片信息看看有什么能修改。 请问(lusizeng)我怎么没有找到extension=php_imagick.dll的?我的是PHPNOW的集成环境 <?phpheader("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的图片 LuciferStar的这个都没有涉及到分辨率的问题。。到底PHP有没有处理分辨的功能呢? $im = @imagecreate(110, 20);设置的就是图片的大小 测试环境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.dllextension=php_imagick_st-Q8.dll在PnCp.cmd中输入23重启Apache服务器即可例子代码:<?phpheader('Content-type: image/jpeg');$image = new Imagick('1.jpg');$image->setImageResolution(96,96); //这里分别是X,Y的分辨率$image->thumbnailImage(300, 0);$output = $image->getimageblob();echo $output;?>输出图片之后,你可以另存图片,然后图片右击属性->摘要-》高级,即可查看图片的分辨率 关于利用PHP开发聊天机器人的一个问题 php删除同目录下所有txt文件 博俊网络第三期培训开始了! 关于正则表达式的问题 朋友些,给点思路吧 php+soap的程序运行不了一般是什么问题啊? 一个小问题:安装Apache2 windows.open出来的窗口可以产生滚动条的参数是?? 怎么对MYSQL数据库进行移植?它以什么样的文件格式存在的? Php如何在Windows98下连上远程的Oracle8 PHP如何实现网页发短信到手机上 mysqli_connect和mysql_connect的区别
首先,加载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;
}===================================
转的
$images->setImageResolution()// 设置分辨率
为具体测试过,你试试
我怎么没有找到extension=php_imagick.dll的?我的是PHPNOW的集成环境
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的图片
$im = @imagecreate(110, 20);
设置的就是图片的大小
到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;
?>输出图片之后,你可以另存图片,然后图片右击属性->摘要-》高级,即可查看图片的分辨率