热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP图片截取方法及应用实例

本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。

本文目录一览:


  • 1、如何使用PHP动态把JPEG图片切割成几块


  • 2、php怎样截取视频图


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


  • 4、php 裁切图片问题 求助

如何使用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 imagecopy ( 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++) {

imagecopy($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这样的格式

}

}

?

已测试,可以使用。

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 裁切图片问题 求助

PHP做图片裁切

PHP做图片裁剪的原理是通过前台定位出要裁剪图片的左上角位置,及右下角位置的做标,如果有放大和缩小的话还要给出放大和缩小的百分比,以及要对哪一个图片进行操作,这几个值传到后台,在用PHP去处理!

前端图片坐标点的得到可以自己用JS去实现,如果你的JS写的不是很熟也没有关系,可以下载一个jsCropperUI这一个包里面有很多的DEMO,可以实现前台的拖曳效果了!

前台会有一个AJAX向后台发送数据,一般格式为x1="+position[0]+"y1="+position[1]+"x2="+position[2]+"y2="+position[3]+"r="+position[4]+"id = imgid四个坐标,缩放值,要操作的ID

后PHP接收这个数据后,进行操作

$x1 = $_GET['x1'];

$y1 = $_GET['y1'];

$x2 = $_GET['x2'];

$y2 = $_GET['y2'];

$r = $_GET['r'];

if($x2$x1||$y2$y1){

return false;

}

$img="dog.jpg";

$im=imagecreatefromjpeg($img);

$percent = $r*0.01;

list($width, $height) = getimagesize($img);

$new_width = $width * $percent;

$new_height = $height * $percent;

$tempimg = imagecreatetruecolor($new_width,$new_height);

imagecopyresampled($tempimg, $im,0,0,0,0, $new_width,$new_height, $width, $height);

imagejpeg($tempimg,"dog_temp.jpg");

ImageDestroy ($im);

$ims=$tempimg;

$srcW=ImageSX($ims);

$srcH=ImageSY($ims);

$top_x = $x1;

$top_y = $y1;

$bottom_x = $x2;

$bottom_y = $y2;

$newimg = imagecreatetruecolor($bottom_x-$top_x,$bottom_y-$top_y);

imagecopyresampled($newimg, $ims,0,0,$top_x,$top_y, $srcW,$srcH, $srcW, $srcH);

imagejpeg($newimg,"dogs.jpg");

ImageDestroy ($ims);

echo 1;

成功后输出1让前台得到进行裁剪区域的刷新!这样就可以实现PHP裁剪图片的效果了!


推荐阅读
author-avatar
31號_K
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有