使用imagemagick实现两张或多张图片图片拼接 覆盖

Imagemagick是一个强大的图像处理库,号称命令行上的photoshop

1. 问题场景

  在进行手上的一个海报项目时,遇到了这样一个需求:
  如图,在用户制作一张海报后,最后保存的时候,图片主体body是用户制作的海报,footer是由左右两张二维码组成的,左边为公众号的带参数二维码,右侧是用户自定义的二维码,美工提供一张通用的footer模版,程序来负责动态将二维码替换上去,最终拼接成下面图片示例的样子

PHP 单色位图取模

2018-11-27日更新:
  由于没有找到生成.bmp格式图片的好办法,改为使用.wbmp格式,转换和读取都改为.wbmp格式,原来的bmp2hex函数逻辑没有变化,改名为wbmp2hex,并不再使用ImageCreateFromBMP函数,可以收藏一下这个函数还是有用的,最新的代码我也提供了下载在文章末尾

Sphinx 配置文件sphinx.conf配置项全解析

  • source:数据源,数据是从什么地方来的。
  • index:索引,当有数据源之后,从数据源处构建索引。索引实际上就是相当于一个字典检索。有了整本字典内容以后,才会有字典检索。
  • searchd:提供搜索查询服务。它一般是以deamon的形式运行在后台的。
  • indexer:构建索引的服务。当要重新构建索引的时候,就是调用indexer这个命令。

从0到1,Sphinx Windows本地安装及PHP使用Sphinxapi示例

  最近一个项目需要实现这样一个需求:mysql数据库一张表中存了百万张菜品图片,需要根据菜品名称或描述,模糊匹配出符合条件的菜品图片,并展示出来

1
2

select * from table_name where column like '%鱼香肉丝%';

  如果像上面那样,直接使用mysql like查询的话,会进行全表扫描,不走索引,大大的影响查询效率,所以开始学习使用Sphinx全文搜索引擎,下面记录下第一次配置使用的过程,以及过程中遇到的问题和疑问,望指正.

Windows+PHP5.6环境下安装imagick扩展和imagemagick

其实回过头看,安装过程中最容易出错的反而是下载阶段,一定要将imagemagick和imagick的版本和phpinfo的信息对应好!
下图中几点需要注意,每个人的信息可能不同,根据你自己的phpinfo来选择接下来的下载的程序及扩展版本:

  • PHP Version: PHP版本
  • compiler: MSVC11
  • Architecture: x86
  • Thread Safety: disabled 非线程安全,也就是NTS,相反的则是线程安全TS