大家好!

今年夏天我的任务是为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