php图片截取
1. php ,我想截取保存在数据库的文章中的第一张图片当文章的封面 ,就是从<img > 到</img>,应该怎么截取呢
用正则表达式来提取正文中图片 并返回图片地址用正则表达式来提取正文中图片 并返回图片地址
functionimg($comtent){
$data['content']=$content;//获取的内容
$soContent=$data['content'];
$soImages='~<img[^>]*/>~';
preg_match_all($soImages,$soContent,$thePics);
$allPics=count($thePics[0]);
preg_match('/<img.+src="?(.+.(jpg|gif|bmp|bnp|PNG))"?.+>/i',$thePics[0][0],$match);
$data['ig']=$thePics[0][0];
//mp($data['img']);
if($allPics>0){
return"$match[1];
}
else{
returnnull;
}}
2. php裁剪图片时占用内存超过12M~~急,在线等
解决办法(三种):
一、修改php.ini(推荐)
memory_limit = 12M
二、在程序里面添加如下语句
ini_set(''memory_limit'', ''12M'');
三、在根目录建立.htaccess文件,添加如下内容
php_value memory_limit 12M
如果还不能解决,就把它改得再大一些。
3. php显示半张图片,就是显示的时候截取图片的一半~
test.php
<?php
$image = imagecreatefromjpeg("photo.jpg");
$ = PIPHP_ImageCrop($image, 0, 0, 484, 160);
if (!$) echo "Crop failed: Argument(s) out of bounds";
else
{
imagejpeg($, "photo3.jpg");
echo "<img src='photo.jpg' align=left> ";
echo "Cropped at 100,0<br />with width / height";
echo "<br />of 110/140 pixels<br /><br />";
echo "<img src='photo3.jpg'>";
}
function PIPHP_ImageCrop($image, $x, $y, $w, $h)
{
$tw = imagesx($image);
$th = imagesy($image);
if ($x > $tw || $y > $th || $w > $tw || $h > $th)
return FALSE;
$temp = imagecreatetruecolor($w, $h);
imageresampled($temp, $image, 0, 0, $x, $y,
$w, $h, $w, $h);
return $temp;
}
以上内容出自
《PHP快速开发工具箱--轻松解决PHP日常编程问题的100个插件工具》
4. php函数imageresampled和imageresized的区别是什么
两个函数碧衡只是缩放的算法不同, imageresized 使用相对原始的图片缩放算法,生成的结果相对不清晰或者像素化,但处理速度快,只适合不喊扒要求清晰度但需要迅速生成缩略图的情况。
imageresampled 是 GD 库更新郑慧昌后新增的函数,使用平滑插入算法,生成的图片质量更高,处理速度更慢并且占用一定的 CPU 资源。
imageresized will and scale and image. This uses a fairly primitive algorithm that tends to yield more pixelated results.
imageresampled will and scale and image, it uses a smoothing and pixel
interpolating algorithm that will generally yield much better results
then imageresized at the cost of a little cpu usage.
5. php怎样截取视频图
用ffmpeg直接读取网站的某个视频,然后截取其中的某帧作为该视频的缩略图;读取网站自身提供的视频缩略图。
获取图片路径:
function get_youku_thumb($url) {
$content = file_get_contents($url);
preg_match( '/id="s_msn2".*?screenshot=(.*?)".?target=/', $content, $matchs );
return $matchs[1];
}
echo get_youku_thumb('视频网址');
把过去的图片WordPress的缩略图,可以将获取缩略图的代码做成shortcode,直接在文章中调用。也可以通过custom_field方式记录视频地址,在主循环中调用该函数获得缩略图,借助timthumb.php等脚本生成缓存存放到本地,就不用每次都去读网页了。
6. 数据库里的图片路径截取再循环取出,用PHP来写。我是新手不知道如何去写。
$images= explode('|',$var['displayimg'嫌陪]);
$str = "";
foreach($images as $k=>$v){
$v = str_replace('指掘图'芹逗蠢.$k+1,'',$v);
$str.="<img src='{$v}' height='100' width='100'/>";
}
echo $str;
7. php的缩略图 截取 黑色
$white = imagecolorallocate($im,255,255,255)
8. 如何使用PHP动态把JPEG图片切割成几块
<?php
$maxW=100; //准备将图片裁减成的小图的宽
$maxH=100; //准备将图片裁减成的小图的高
$link= "D:/Apache24/htdocs/web/test.jpg";//图片路径,自己修改
$img = imagecreatefromjpeg($link);
list($width, $height, $type, $attr) = getimagesize($link);
$widthnum=ceil($width/$maxW);
$heightnum=ceil($height/$maxH);
$iOut = imagecreatetruecolor ($maxW,$maxH);
//bool image ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h )
//将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。
for ($i=0;$i < $heightnum;$i++) {
for ($j=0;$j < $widthnum;$j++) {
image($iOut,$img,0,0,($j*$maxW),($i*$maxH),$maxW,$maxH);//复制图片的一部分
imagejpeg($iOut,"D:/Apache24/htdocs/web/img/".$i."_".$j.".jpg"); //输出成0_0.jpg,0_1.jpg这样的格式
}
}
?>
已测试,可以使用。
9. php如何实现图片的裁剪
php中裁剪图片主要使用gd库的imageresampled方法
$src_path='1.jpg';
//创建源图的实例
$src=imagecreatefromstring(file_get_contents($src_path));
//裁剪开区域左上角的点的坐标
$x=100;
$y=12;
//裁剪区域的宽和高
$width=200;
$height=200;
//最终保存成图片的宽和高,和源要等比例,否则会变形
$final_width=100;
$final_height=round($final_width*$height/$width);
//将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升
$new_image=imagecreatetruecolor($final_width,$final_height);
imageresampled($new_image,$src,0,0,$x,$y,$final_width,$final_height,$width,$height);
//输出图片
header('Content-Type:image/jpeg');
imagejpeg($new_image);
imagedestroy($src);
imagedestroy($new_image);