本文整理匯總了PHP中ImageManager::write方法的典型用法代碼示例。如果您正苦於以下問題:PHP ImageManager::write方法的具體用法?PHP ImageManager::write怎麽用?PHP ImageManager::write使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類ImageManager
的用法示例。
在下文中一共展示了ImageManager::write方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: returnDestImage
/**
* @deprecated 1.5.0
*/
function returnDestImage($type, $ressource, $filename)
{
Tools::displayAsDeprecated();
return ImageManager::write($type, $ressource, $filename);
}
示例2: cut
/**
* Cut image
*
* @param array $src_file Origin filename
* @param string $dst_file Destination filename
* @param integer $dst_width Desired width
* @param integer $dst_height Desired height
* @param string $file_type
* @param int $dst_x
* @param int $dst_y
*
* @return bool Operation result
*/
public static function cut($src_file, $dst_file, $dst_width = null, $dst_height = null, $file_type = 'jpg', $dst_x = 0, $dst_y = 0)
{
if (!file_exists($src_file)) {
return false;
}
// Source information
$src_info = getimagesize($src_file);
$src = array('width' => $src_info[0], 'height' => $src_info[1], 'ressource' => ImageManager::create($src_info[2], $src_file));
// Destination information
$dest = array();
$dest['x'] = $dst_x;
$dest['y'] = $dst_y;
$dest['width'] = !is_null($dst_width) ? $dst_width : $src['width'];
$dest['height'] = !is_null($dst_height) ? $dst_height : $src['height'];
$dest['ressource'] = ImageManager::createWhiteImage($dest['width'], $dest['height']);
$white = imagecolorallocate($dest['ressource'], 255, 255, 255);
imagecopyresampled($dest['ressource'], $src['ressource'], 0, 0, $dest['x'], $dest['y'], $dest['width'], $dest['height'], $dest['width'], $dest['height']);
imagecolortransparent($dest['ressource'], $white);
$return = ImageManager::write($file_type, $dest['ressource'], $dst_file);
return $return;
}
示例3: watermarkByImage
private function watermarkByImage($imagepath, $watermarkpath, $outputpath)
{
$Xoffset = $Yoffset = $xpos = $ypos = 0;
list($tmp_width, $tmp_height, $type) = getimagesize($imagepath);
$image = ImageManager::create($type, $imagepath);
if (!$image) {
return false;
}
if (!($imagew = imagecreatefromgif($watermarkpath))) {
die($this->l('The watermark image is not a real GIF, please CONVERT the image.'));
}
list($watermarkWidth, $watermarkHeight) = getimagesize($watermarkpath);
list($imageWidth, $imageHeight) = getimagesize($imagepath);
if ($this->xAlign == 'middle') {
$xpos = $imageWidth / 2 - $watermarkWidth / 2 + $Xoffset;
}
if ($this->xAlign == 'left') {
$xpos = 0 + $Xoffset;
}
if ($this->xAlign == 'right') {
$xpos = $imageWidth - $watermarkWidth - $Xoffset;
}
if ($this->yAlign == 'middle') {
$ypos = $imageHeight / 2 - $watermarkHeight / 2 + $Yoffset;
}
if ($this->yAlign == 'top') {
$ypos = 0 + $Yoffset;
}
if ($this->yAlign == 'bottom') {
$ypos = $imageHeight - $watermarkHeight - $Yoffset;
}
if (!imagecopymerge($image, $imagew, $xpos, $ypos, 0, 0, $watermarkWidth, $watermarkHeight, $this->transparency)) {
return false;
}
switch ($type) {
case IMAGETYPE_PNG:
$type = 'png';
break;
case IMAGETYPE_GIF:
$type = 'gif';
break;
case IMAGETYPE_JPEG:
$type = 'jpg';
break;
}
imagealphablending($image, false);
imagesavealpha($image, true);
return ImageManager::write($type, $image, $outputpath);
}
示例4: saveCombination
public function saveCombination($dest_file)
{
$image = $this->combine();
if ($image) {
if (ImageManager::write($this->dest_type, $this->canvas, $dest_file, 90)) {
imagedestroy($this->canvas);
return true;
}
}
return false;
}
示例5: resize
/**
* 縮放圖片
* @param $src_file
* @param $dst_file
* @param null $dst_width
* @param null $dst_height
* @param string $file_type
* @param bool $force_type
* @return bool
*/
public static function resize($src_file, $dst_file, $dst_width = null, $dst_height = null, $file_type = 'jpg', $force_type = false)
{
if (PHP_VERSION_ID < 50300) {
clearstatcache();
} else {
clearstatcache(true, $src_file);
}
if (!file_exists($src_file) || !filesize($src_file)) {
return false;
}
list($src_width, $src_height, $type) = getimagesize($src_file);
if ($type == IMAGETYPE_PNG && !$force_type) {
$file_type = 'png';
}
//兩不限
if ((int) $dst_width <= 0 && (int) $dst_height <= 0) {
$dst_width = $src_width;
$dst_height = $src_height;
} elseif ((int) $dst_width > 0 && (int) $dst_height <= 0) {
$dst_height = round($src_height * ($dst_width / $src_width));
} elseif ((int) $dst_width <= 0 && (int) $dst_height > 0) {
$dst_width = round($src_width * ($dst_height / $src_height));
}
$src_image = ImageManager::create($type, $src_file);
$src_x = 0;
$src_y = 0;
$width_diff = $dst_width / $src_width;
$height_diff = $dst_height / $src_height;
if ($width_diff > 1 && $height_diff > 1) {
$dst_width = $src_width;
$dst_height = $src_height;
} else {
if ($width_diff < $height_diff) {
$tmp_src_width = $dst_width * $src_height / $dst_height;
$src_x = ($src_width - $tmp_src_width) / 2;
$src_width = $tmp_src_width;
} else {
$tmp_src_height = $dst_height * $src_width / $dst_width;
$src_y = ($src_height - $tmp_src_height) / 2;
$src_height = $tmp_src_height;
}
}
if (!ImageManager::checkImageMemoryLimit($src_file)) {
return false;
}
$dest_image = imagecreatetruecolor($dst_width, $dst_height);
// If image is a PNG and the output is PNG, fill with transparency. Else fill with white background.
if ($file_type == 'png' && $type == IMAGETYPE_PNG) {
imagealphablending($dest_image, false);
imagesavealpha($dest_image, true);
$transparent = imagecolorallocatealpha($dest_image, 255, 255, 255, 127);
imagefilledrectangle($dest_image, 0, 0, $dst_width, $dst_height, $transparent);
} else {
$white = imagecolorallocate($dest_image, 255, 255, 255);
imagefilledrectangle($dest_image, 0, 0, $dst_width, $dst_height, $white);
}
imagecopyresampled($dest_image, $src_image, 0, 0, $src_x, $src_y, $dst_width, $dst_height, $src_width, $src_height);
return ImageManager::write($file_type, $dest_image, $dst_file);
}
示例6: crop
/**
* Resize, cut and optimize image
*
* Zoom & Croop when the destination file name
* contains the '_timthumb' phrase
* - Modified by www.bazingadesigns.com/en
* (TimThumb ZoomCrop port)
*
* @param string $src_file Image object from $_FILE
* @param string $dst_file Destination filename
* @param integer $dst_width Desired width (optional)
* @param integer $dst_height Desired height (optional)
* @param string $file_type
* @return boolean Operation result
*/
public static function crop($src_file, $dst_file, $dst_width = null, $dst_height = null, $file_type = 'jpg', $force_type = false)
{
if (!file_exists($src_file)) {
return false;
}
list($src_width, $src_height, $type) = getimagesize($src_file);
// If PS_IMAGE_QUALITY is activated, the generated image will be a PNG with .jpg as a file extension.
// This allow for higher quality and for transparency. JPG source files will also benefit from a higher quality
// because JPG reencoding by GD, even with max quality setting, degrades the image.
if (Configuration::get('PS_IMAGE_QUALITY') == 'png_all' || Configuration::get('PS_IMAGE_QUALITY') == 'png' && $type == IMAGETYPE_PNG && !$force_type) {
$file_type = 'png';
}
if (!$src_width) {
return false;
}
if (!$dst_width) {
$dst_width = 0;
}
if (!$dst_height) {
$dst_height = 0;
}
$src_image = ImageManager::create($type, $src_file);
$width_diff = $dst_width / $src_width;
$height_diff = $dst_height / $src_height;
if ($dst_width > 0 && $dst_height < 1) {
$dst_height = floor($src_height * ($dst_width / $src_width));
} else {
if ($dst_height > 0 && $dst_width < 1) {
$dst_width = floor($src_width * ($dst_height / $src_height));
}
}
$src_x = $src_y = 0;
$src_w = $src_width;
$src_h = $src_height;
$cmp_x = $src_width / $dst_width;
$cmp_y = $src_height / $dst_height;
if ($cmp_x > $cmp_y) {
$src_w = round($src_width / $cmp_x * $cmp_y);
$src_x = round(($src_width - $src_width / $cmp_x * $cmp_y) / 2);
} else {
if ($cmp_y > $cmp_x) {
$src_h = round($src_height / $cmp_y * $cmp_x);
$src_y = round(($src_height - $src_height / $cmp_y * $cmp_x) / 2);
}
}
$dest_image = imagecreatetruecolor($dst_width, $dst_height);
// If image is a PNG and the output is PNG, fill with transparency. Else fill with white background.
if ($file_type == 'png' && $type == IMAGETYPE_PNG) {
imagealphablending($dest_image, false);
imagesavealpha($dest_image, true);
$transparent = imagecolorallocatealpha($dest_image, 255, 255, 255, 127);
imagefilledrectangle($dest_image, 0, 0, $dst_width, $dst_height, $transparent);
} else {
$white = imagecolorallocate($dest_image, 255, 255, 255);
imagefilledrectangle($dest_image, 0, 0, $dst_width, $dst_height, $white);
}
imagecopyresampled($dest_image, $src_image, 0, 0, $src_x, $src_y, $dst_width, $dst_height, $src_w, $src_h);
return ImageManager::write($file_type, $dest_image, $dst_file);
}