当前位置:首页 » 编程语言 » php截取图片

php截取图片

发布时间: 2022-04-22 22:36:22

‘壹’ 如何实现php图片裁剪与缩放

给你段代码吧。上边的是具体的事务处理。下面的是类文件。
////////////////////////////////////////////////////下面开始处理图片压缩问题
$src = "$fileurl";

echo $src;
$image = new Image($src);
$width= $image->getimgwidth();
echo $width."宽度是这些";

if($width>1024){

$coefficient=number_format(1024/$width, 4, '.', '');
echo $coefficient;
$image->percent = $coefficient;
$image->openImage();
$image->thumpImage();
//************************************重新给图片命名
$randname=date("Y").date("m").date("d").date("H").date("i").date("s").rand(100, 999).".".$hz;

echo "<br/>重新命名是这个".$randname;

$fileurl=$fileimgweb.$randname;//重新给数据库里存的图片地址命名
// $image->showImage();
$image->saveImage($fileurl);

}

////////////////////////////////////////////////////图片压缩问题处理结束

--------------------------------------------------------------------------------------

<?php
/**
图片压缩操作类
v1.0
*/
class Image{

private $src;
private $imageinfo;
private $image;
public $percent = 0.5;
public function __construct($src){

$this->src = $src;

}
/**
获取图片的宽度并传输给前台
*/

public function getimgwidth(){

$imgwidth= getimagesize($this->src)[0];
// echo $imgwidth;
return $imgwidth;

}

/**
打开图片
*/
public function openImage(){

list($width, $height, $type, $attr) = getimagesize($this->src);
$this->imageinfo = array(

'width'=>$width,
'height'=>$height,
'type'=>image_type_to_extension($type,false),
'attr'=>$attr
);
$fun = "imagecreatefrom".$this->imageinfo['type'];
$this->image = $fun($this->src);

}
/**
操作图片
*/
public function thumpImage(){

$new_width = $this->imageinfo['width'] * $this->percent;
$new_height = $this->imageinfo['height'] * $this->percent;
$image_thump = imagecreatetruecolor($new_width,$new_height);
//将原图复制带图片载体上面,并且按照一定比例压缩,极大的保持了清晰度
imageresampled($image_thump,$this->image,0,0,0,0,$new_width,$new_height,$this->imageinfo['width'],$this->imageinfo['height']);
imagedestroy($this->image);
$this->image = $image_thump;
}
/**
输出图片
*/
public function showImage(){

header('Content-Type: image/'.$this->imageinfo['type']);
$funcs = "image".$this->imageinfo['type'];
$funcs($this->image);

}
/**
保存图片到硬盘
*/
public function saveImage($fileurl){

imagejpeg($this->image, $fileurl,75);

// $funcs = "image".$this->imageinfo['type'];
// $funcs($this->image,$name.'.'.$this->imageinfo['type']);

}
/**
销毁图片
*/
public function destruct(){

imagedestroy($this->image);
}

}

?>

‘贰’ 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个插件工具》

‘叁’ 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;
}}

‘肆’ 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等脚本生成缓存存放到本地,就不用每次都去读网页了。

‘伍’ 我想用php截取网站的一部分并保存成图片,有高手知道该怎么做吗

已经有人回答过这个问题:
我在这里给你转过来
<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Width = 500;
$browser->Height = 500;
$browser->Fullscreen = true;
$browser->Navigate("http://www.google.fr");
/* Still working? */
/*
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");

相关地址是:http://..com/question/360131834.html

‘陆’ PHP 图片下载本地并进行裁剪

<?php
//剪裁图片
//1,打开图像
//2,创建一个空白的图像
$name="./img/1.jpg";
//cut($name,0,0,200,200);
$x1=289;
$y1=149;
$x2=438;
$y2=257;
cut($name,289,149,438,257);
functioncut($name,$x1,$y1,$x2,$y2){
functiongetinfo($name){

//getimagesize($dname)函数可以动态的获取图片类型,大小,宽度和高度等
$info=getimagesize($name);
$width=$info[0];
$height=$info[1];
$mime=$info['mime'];

switch($mime){
case'image/jpeg':
$res=imagecreatefromjpeg($name);
break;
case'image/gif':
$res=imagecreatefromgif($name);
break;
case'image/png':
$res=imagecreatefrompng($name);
break;
case'image/wbmp':
$res=imagecreatefromwbmp($name);
break;
}
returnarray('width'=>$width,'height'=>$height,'res'=>$res);
}
$info=getinfo($name);

$img=imagecreatetruecolor(($x2-$x1),($y2-$y1));
imagemerge($img,$info['res'],0,0,$x1,$y1,($x2-$x1),($y2-$y1),100);
//header("content-type:image/png");
//imagepng($img);
$ext=pathinfo($name,PATHINFO_EXTENSION);
$rand_name=md5(mt_rand().time()).".".$ext;
switch($ext){
case'jpg':
case'jpeg':
case'jpe':
imagejpeg($img,$rand_name);
break;
case'png':
imagepng($img,$rand_name);
break;
case'gif':
imagegif($img,$rand_name);
break;
case'bmp':
case'wbmp':
imagewbmp($img,$rand_name);
break;
}
//销毁资源
imagedestroy($info['res']);
imagedestroy($img);
}

‘柒’ php提取图片地址,我想要把我们文章内容中图片全部图片提取出来并循环展示出来。

先用正则表达式,找到所有格式的图片类型,然后去内容里面对比标签是不是图片,然后将图片名称存储起来,到时候遍历出来的时候加上你们网站的前缀,就显示出来了

‘捌’ php无组件裁剪图片

functioncut_img($img,$w,$h){//要裁减的图片,宽度,高度
$s=imagecreatefromjpeg($img);//这里以jpg图片为例,其他图片要修改这个方法名称,可以上网参考(就是后面那个后缀名不一样)
$w=imagesx($s)<$w?imagesx($s):$w;//如果图片的宽比要求的小,则以原图宽为准
$h=imagesy($s)<$w?imagesy($s):$h;
$bg=imagecreatetruecolor($w,$h);//创建$w*$h的空白图像
if(image($bg,$s,0,0,0,0,$w,$h)){
if(imagejpeg($bg,"img/new_img.jpg")){//将生成的图片保存到img/new_img.jpg
echo"success";
}else{
echo"false";
}
}else{
echo"false";
}
/*
*image($dst_im,$src_im,$dst_x,$dst_y,$src_x,$src_y,$src_w,$src_h)
将src_im图像中坐标从src_x,src_y开始,宽度为src_w,高度为src_h的一部分拷贝到dst_im图像中坐标为dst_x和dst_y的位置上。
*/
imagedestroy($s);//关闭图片
imagedestroy($bg);
//这里只写了几个主要操作,你可以再加上开始裁减的坐标,也就是image中的第5,第6两个参数,那么在判断$w和$h的地方也要相应的剪掉开始没算进去的部分,
//然后保存路径是否存在的判断等
}
cut_img("img/03.jpg",100,100);

‘玖’ 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);

热点内容
java用什么软件写 发布:2025-05-18 03:56:19 浏览:25
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:99
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:934
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:727
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:797
网卡访问 发布:2025-05-18 03:35:04 浏览:504
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:366
ef数据库查询数据 发布:2025-05-18 03:29:36 浏览:668
百度云下载文件夹 发布:2025-05-18 03:17:33 浏览:674
php云开发 发布:2025-05-18 03:12:41 浏览:447