目前我正在研究Zend Framework中的一个巨大的后端应用程序。 很多时候我最终使用错误的图标来表示某些对象或动作。
我的问题 是否有任何PHP代码自动生成图标????
当然,这些图标不会神奇地生成,最好的情况是我们有一组具有类型的图标。
这样我们就可以通过动态混合不同类型的图标来创建图标。
生成图标以删除32x32用户并删除图标右下角图标的代码。
$icon = new Icon(); $icon->object('user')->action('delete'); $icon->action_align('right')->action_valign('bottom'); $icon->action_height(10)->action_width(10); $icon->height(32)->width(32); $icon->create();
这只是一个例子,我们如何创建一个以前从未退出的图标。
答案 0 :(得分:2)
您可以使用GD library导出图像,而不是.ico格式,但.bmp可以。使用Imagick,您似乎可以直接执行.ico文件。
答案 1 :(得分:2)
嘿,我建议你创建像这样的文件管理器:
Filter that creates image thumbnail
<?php
/**
* Class for thumbnailing images
*
* @author Michał Bachowski (michal@bachowski.pl)
* @package JPL
* @subpackage Jpl_Filter
* @version 0.1
* @uses Zend_Filter_Interface, IMagick
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Jpl_Filter_File_Image_Thumbnail {
/**
* Thumbnail width
*
* @var integer
*/
protected $_width = null;
/**
* Thumbnail height
*
* @var integer
*/
protected $_height = null;
/**
* Information whether to keep ratio or not while making thumbnail
*
* @var bool
*/
protected $_bestFit = true;
/**
* Information whether crop image or just to resize it
*
* @var bool
*/
protected $_crop = false;
/**
* Method sets destination thumbnail width
*
* @param integer $width
* @return Jpl_Filter_File_Image_Thumbnail
*/
public function setWidth( $width = null ) {
$this->_width = (int) $width;
return $this;
}
/**
* Method sets destination thumbnail height
*
* @param integer $height
* @return Jpl_Filter_File_Image_Thumbnail
*/
public function setHeight( $height = null ) {
$this->_height = (int) $height;
return $this;
}
/**
* Method changes behaviour of filter.
* Filter will resize image exactly to given dimensions (false)
* or resize image to fit given dimensions but keep original dimension ratio (true).
* Setting bestFit to true both dimensions are become mandatory!
*
* @param bool $bestFit
* @return Jpl_Filter_File_Image_Thumbnail
*/
public function setBestFit( $bestFit = false ) {
$this->_bestFit = (bool) $bestFit;
return $this;
}
/**
* Method changes behaviour of filter.
* Filter either just resizes image (false)
* or resizes with keeping ratio and crop to best fit given width and height (true)
* If true ommits self::$_bestFit attribute!
*
* @param bool $crop
* @return Jpl_Filter_File_Image_Thumbnail
*/
public function setCrop( $crop = false ) {
$this->_crop = (bool) $crop;
return $this;
}
/**
* Method filters given file - makes thumb
*
* @param string $file path to file
* @return string name of file
*/
public function filter( $file ) {
$im = new IMagick( $file );
if ( $this->_crop ) {
$im->cropThumbnailImage(
$this->_width,
$this->_height
);
} else {
$im->thumbnailImage(
$this->_width,
$this->_height,
$this->_bestFit
);
}
$im->writeImage( $file );
}
}