首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP自动生成缩略图函数的源码示例

一个简单但功能比较完善的自动生成缩略图的函数,可以按需要对图片进行缩放、裁切、锁定宽或高、使用空白填充 以下为源码,比较简单,相信很容易看明白,记得打开 GD 库的支持哦: <?...php /** * 生成缩略图 * @param string 源图绝对完整地址{带文件名及后缀名} * @param string 目标图绝对完整地址{带文件名及后缀名} * @param int...缩略图宽{值设为0时目标高度不能为0,目标宽度为源图宽*(目标高度/源图高)} * @param int 缩略图高{值设为0时目标宽度不能为0,目标高度为源图高*(目标宽度/源图宽)} *...'jpeg' : $type); $dst_h = $height; $dst_w = $width; $x = $y = 0; /** * 缩略图不超过源图尺寸(前提是宽或高只有一个) */ if((.../test_thumb.jpg"; //生成缩略图存放的完整路径和名称 /* 生成宽300px,高200px的缩略图,不进行裁切,空白部分将会使用背景色填充 */ $stat = img2thumb(

1K31

通过 imagick 让 PHP 生成 PSD 文件缩略图

); //去除图片信息 $im->setImageCompressionQuality(80); //图片质量 $im->writeImage('1.jpg');   以上代码已经经过测试可以正确生成出一张...建议缩略图还是以 jpg 格式,因为 png 格式不支持压缩,我在测试的时候使用 30M 的 PSD 文件生成出来的 png 缩略图有 3M 多,而 jpg 只有 200KB 左右,并且生成 png...另外还做了极端测试,用了一近 600M 的 PSD 文件生成 jpg 缩略图,速度基本在2秒内,文件大小不到 2.5M ,由于并未对图片进行尺寸的修改,所以最终生成文件的体积可以根据实际情况再减小。...第五步、其它格式   除了 PSD 文件,我还另外尝试了一些其它格式,比如 MP4 、AVI 等视频格式,但生成速度超级慢。...最后发现比较实用的就是生成 PDF 文件缩略图,但处理 PDF 文件前,需要安装 Ghostscript ,然后整体的代码基本和生成 PSD 的代码一样 $im = new Imagick();

2.8K50
您找到你想要的搜索结果了吗?
是的
没有找到

ImageMagick & FFMPEG 缩略图生成

post_type=post&p=2068 上山打老虎 欢迎分享与聚合,尊重版权,可以联系授权 ImageMagick 在生成缩略图的过程中遇到的问题。...,xx.psd[0] 代表着合并所有图层,xx.pdf[0] 代表获取 pdf 文件中的第一个图像,而如果你需要截取 GIF 的某一帧的图片的话,也需要在文件名后缀添加 xxx.gif[2]。...FFMPEG 缩略图生成 视频信息获取 /** * 获取视频信息 * @param path 视频路径 * @returns 视频信息 */ export const getVideoInfo...info.format.size, ]; return res; }; 视频时长获取 如果直接截取视频的某一帧的话会出现截取不到或者首帧为空白,后者这种粗暴的做法会导致页面上的所有视频的缩略图都可能是...duration -of default=noprint_wrappers=1:nokey=1 ${from}`, { encoding: 'utf8' }, ).toString(), ); 转码截取缩略图

1.9K20

十三:自动生成HTML文件

在真实生产环境中,运行webpack进行打包后,完整的index.html应该是被自动生成的。例如静态资源、js 脚本都被自动插入了。而不是像之前的教程那样根据生成文件手动插入。...为什么要自动生成 HTML? 看过这个系列教程的朋友,都知道在之前的例子中,每次执行webpack打包生成js文件后,都必须在index.html中手动插入打包好的文件的路径。...但在真实生产环境中,一次运行webpack后,完整的index.html应该是被自动生成的。例如静态资源、js 脚本都被自动插入了。...编写 HTML 文件 根目录下的index.html会被html-webpack-plugin作为最终生成的 html 文件的模板。打包后,相关引用关系和文件路径都会按照正确的配置被添加进去。...结果和测试 运行webpack进行打包,下面是打包结果: 可以在/dist/中查看自动生成的index.html文件,如下图所示,脚本和静态资源路径都被正确处理了: 直接在 Chrome 打开index.html

2K10

使用FileUpload控件上传图片并自动生成缩略图自动生成带文字和图片的水印图

本文借助vs2005中自带的FileUpload控件实现图片文件的上传并生成缩略图。...强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码 本文借助vs2005中自带的FileUpload控件实现图片文件的上传并生成缩略图...实现过程:选择图片上传成功后,取得已经存在服务器的文件生成缩略图,并且判断是否是图片类型的文件,这个的判断可以在程序中修改,本程序只是判断了“image/bmp”、“image/gif”、“image/...Label1.Text = "提示:文件“" + fileName + "”成功上传,并生成“" + fileName_s + "”缩略图文件类型为:" + FileUpload1.PostedFile.ContentType....Text = "提示:文件类型不符"; } } } /**//// /// 生成缩略图 /// /// <param name="originalImagePath

1.9K32

My Eyes Are Up Here:自动侦测脸部生成缩略图的 WordPress 插件

WordPress 默认是自动从中间裁图来生成缩略图,如果图片中的人脸在边上的时候,就会把图片中最重要的部分裁掉,如果全身照则更尴尬,有时裁剪之后剩下的是脖子和手臂。...插件安装之后,无需设置,在图片编辑选项旁边会有“face detection”(脸部侦测)的区域,插件内置的脸部侦测有两种方法:自动侦测和通过指定热点来人工侦测。...自动人脸侦测是非常直观好用的,但是它也并不是每次都能找到所有东西,这就是为什么要让用户自己指定热点来突出错过的人脸。...当完成添加热点之后,点击“完成”按钮就可以重新裁剪缩略图了,重新生成缩略图就是根据指定的人脸位置来裁剪的, 当检测到多个热点或面,该插件将尝试裁剪图像,包括尽可能多的热点在缩略图越好。...如果你站点有很多人物主题的图片,这个插件会给帮你裁剪更加适合你网站的缩略图,下载:My Eyes Are Up Here

47320

php生成缩略图类timthumb

用过这个类的都应该很熟悉,此类可以用来生成图片的缩略图并加以处理,如果在linux环境下安装了optipng或pngcrush工具,也可以进行网站的截图操作。...文件下载地址:http://www.zjkweiqi.cn/pcdown/93702.html wordpress自带的缩略图功能会对每次上传的所有图片根据设置的图片尺寸进行裁剪,并把原图和裁剪后的图片保存在网站空间中...该软件是专门针对wordpress开发的集成在wordpress主题中的缩略图应用项目,只会对调用的图片进行裁剪,而且是在有访问请求时才临时生成一个配置文件,在一定时间内缓存在空间中,不会生成多余的缩略图...h : 生成图片的高度,如果高度和宽度都没有指定,则默认为100*100 zc : 生成图片的缩放模式,可选值0, 1, 2, 3, 默认为1,每个值的不同之处可看下面文件的第100行注释 q : 生成图片的质量...,默认90 a : 超出部分的裁剪位置,和缩放模式有关,可选值t, b, l, r, 默认为从顶部裁剪 f : 需要对生成后的图片使用一些过滤器的话,则在这里传不同过滤器的代码和值,具体操作方法可见下面文件的第

1.4K00

WordPress自动设置文章缩略图

经常会在网站首页调用文章的时候,需要有图片一起展示,wordpress本身有缩略图功能,可以通过has_post_thumbnail来判断是否有缩略图, the_post_thumbnail来调用。...但是wordpress的缩略图需要手动设置,并不能自动获取文章内的图片来作为缩略图,通过以下方法完成缩略图自动设置。...自动设置缩略图的逻辑: 如果设置缩略图,则调用缩略图; 如果没有设置缩略图,则调用文章内第一张图片为缩略图; 如果文章内也没有图片,那么则使用默认图片为缩略图。...'/imgages/thumb.jpg'; //具体路径根据自己调整 } } } 将以上文件添加到functions.php文件内,在需要使用缩略图的地方,使用函数 dm_the_thumbnail...()即可完成缩略图URL的调用。

94230

iOS 效率工具:自动生成 Model 文件

GitHub 地址:YBModelFile 一句代码自动生成 Model 文件,拖入工程既能使用。...前言 当一个网络数据比较复杂时,往往需要一些功夫来创建对应的数据模型,笔者正是苦于手动创建 Model 痛苦,决定做一个工具来自动创建 Model 文件。...*address; @property (nonatomic, copy) NSArray *orderList; @end 下面就来讲述,工具如何来自动构建这些东西...为什么不做类复用:首先个人对规范的理解,数据模型类最好不好复用;其次从技术上说,由于自动创建的类名每一次都不可预估,判断类是否可以复用只有通过遍历所有的属性来比较,而已知的类不好规定可复用的范围,对于时间和空间复杂度来说也是不小的挑战...通过设置一个最大层级来控制,比如设置的层级是 3,那么第 3 层之后的子节点类都合并到第 3 层的类文件中。 三是在深搜过程中记录文件中的类数量,一个文件达到数量限制就创建新的文件来写入类。

1.5K40
领券