大家好!
今年夏天我的任务是为Joomla!开发者创建一个图像库,易于使用且功能丰富。我将解释如何安装和使用JImageLib处理图像,如果你能帮助我找到错误并改进我的工作,我将非常感激。
先决条件
要使JImageLib与所有可用的图像处理器(GD、ImageMagick、GraphicsMagick)一起工作,您必须确保它们已安装在您的服务器上。
您可以免费下载并安装ImageMagick,地址是https://imagemagick.org.cn/script/binary-releases.php,适用于Unix、MacOS和Windows,而GraphicsMagick可以从http://www.graphicsmagick.org/download.html下载,适用于Linux和Windows操作系统。
安装JImageLib
库可以在SVN中找到:http://labs.joomla.org/svn/labs/playground/people/daniel/trunk/libraries/。
要安装库,只需将JImageLib目录复制到您的libraries/目录。文件复制后,请确保编辑config.php文件并更改DEFAULT_IMAGE_MAGICK_DIRECTORY和DEFAULT_GRAPHICS_MAGICK_DIRECTORY,指向您安装ImageMagick和GraphicsMagick的目录。此外,您还可以配置其他默认设置,例如生成的图像的DEFAULT_PREFIX、DEFAULT_DIRECTORY等。这些也可以通过JImageLib类方法进行配置。
包含JImageLib
要包含库,只需将以下行添加到您的代码中
jimport( 'JImageLib.JImageLib' );
使用库
要使用库,只需实例化一个JImageLib对象并使用类的公共方法。
例如,您想为'images/joomla_logo_black.jpg'图像(350x71)创建一个宽度为300的灰度翻转缩略图,使用ImageMagick图像处理库,为生成的图像使用自定义前缀和目录,并在目录和文件名中使用图像大小。以下是如何操作
- 创建对象并设置新宽度
$img = new JImageLib();
$img->setWidth(300);
- 加载要处理的图像
如果 (! $img->load('images/joomla_logo_black.jpg')){
打印 $img->getError();
打印 "< br / >";
}
如果 (! $img->setImageLib('im')){
打印 $img->getError();
打印 "< br / >";
}
- 设置灰度滤镜和垂直翻转
如果 (! $img->setFilter('grayscale')){
打印 $img->getError();
打印 "< br / >";
}
如果 (! $img->setFlipping('V')){
打印 $img->getError();
打印 "< br / >";
}
- 自定义命名
如果 (! $img->setDirectory('images/thumbs/')){
打印 $img->getError();
打印 "< br / >";
}
如果 (! $img->setUseImageSize('both')){
打印 $img->getError();
打印 "< br / >";
}
如果 (! $img->setPrefix('thumb_')){
打印 $img->getError();
打印 "< br / >";
}
- 最后,生成缩略图
如果 (! $img->getThumbnail()){
打印 $img->getError();
打印 "< br / >";
}
- 就是这样!
接下来..
...我将为不熟悉编程的Joomla!管理员创建一个内容插件,该插件解释一种脚本语言并使用类方法处理图像,我还会更新去年的GSoC Advanced Media Manager,以便使库功能更易于访问。
我期待您可能有的任何建议/问题/反馈。
谢谢,
Daniel