本文整理汇总了PHP中ImageColorMatch函数的典型用法代码示例。如果您正苦于以下问题:PHP ImageColorMatch函数的具体用法?PHP ImageColorMatch怎么用?PHP ImageColorMatch使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ImageColorMatch函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: ImageTrueColorToPalette2
public function ImageTrueColorToPalette2(&$image, $dither, $ncolors)
{
// http://www.php.net/manual/en/function.imagetruecolortopalette.php
// zmorris at zsculpt dot com (17-Aug-2004 06:58)
$width = ImageSX($image);
$height = ImageSY($image);
$image_copy = ImageCreateTrueColor($width, $height);
//ImageCopyMerge($image_copy, $image, 0, 0, 0, 0, $width, $height, 100);
ImageCopy($image_copy, $image, 0, 0, 0, 0, $width, $height);
ImageTrueColorToPalette($image, $dither, $ncolors);
ImageColorMatch($image_copy, $image);
ImageDestroy($image_copy);
return true;
}
示例2: colorDecrease
function colorDecrease($image, $dither, $ncolors)
{
$width = imagesx($image);
$height = imagesy($image);
$colors_handle = ImageCreateTrueColor($width, $height);
ImageCopyMerge($colors_handle, $image, 0, 0, 0, 0, $width, $height, 100);
ImageTrueColorToPalette($image, $dither, $ncolors);
ImageColorMatch($colors_handle, $image);
ImageDestroy($colors_handle);
}
示例3: ImageTrueColorToPalette2
function ImageTrueColorToPalette2($original_image, $dither, $ncolors)
{
$width = imagesx($original_image);
$height = imagesy($original_image);
$colors_handle = ImageCreateTrueColor($width, $height);
imagecopymerge($colors_handle, $original_image, 0, 0, 0, 0, $width, $height, 100);
ImageTrueColorToPalette($original_image, $dither, $ncolors);
ImageColorMatch($colors_handle, $original_image);
ImageDestroy($colors_handle);
return $original_image;
}
示例4: retailler
private function retailler($nouvelle_largeur, $nouvelle_hauteur, $delta_largeur, $delta_hauteur, $reduite = false)
{
$ret = false;
if (!$this->is_null()) {
$src_r = null;
if (!strcmp($this->get_ext(), _UPLOAD_EXTENSION_JPG) || !strcmp($this->get_ext(), _UPLOAD_EXTENSION_JPEG)) {
$src_r = imagecreatefromjpeg($this->get_src());
} elseif (!strcmp($this->get_ext(), _UPLOAD_EXTENSION_PNG)) {
$src_r = imagecreatefrompng($this->get_src());
} elseif (!strcmp($this->get_ext(), _UPLOAD_EXTENSION_GIF)) {
$src_r = imagecreatefromgif($this->get_src());
}
if ($src_r) {
if ($this->get_ext() == _UPLOAD_EXTENSION_JPG || $this->get_ext() == _UPLOAD_EXTENSION_JPEG) {
$dst_r = ImageCreateTrueColor($nouvelle_largeur, $nouvelle_hauteur);
if ($dst_r) {
imagecopyresampled($dst_r, $src_r, 0, 0, $delta_largeur, $delta_hauteur, $nouvelle_largeur, $nouvelle_hauteur, $this->get_largeur() - 2 * $delta_largeur, $this->get_hauteur() - 2 * $delta_hauteur);
$qualite = $reduite ? self::qualite_jpg_reduite : self::qualite_jpg;
$ret = imagejpeg($dst_r, $this->get_src(), $qualite);
// Mise à jour des nouvelles dimensions
$this->largeur = $nouvelle_largeur;
$this->hauteur = $nouvelle_hauteur;
imagedestroy($dst_r);
}
} elseif ($this->get_ext() == _UPLOAD_EXTENSION_PNG) {
$src_alpha = $this->png_has_transparency($this->get_src());
$dst_r = ImageCreateTrueColor($nouvelle_largeur, $nouvelle_hauteur);
if ($dst_r) {
if ($src_alpha) {
imagealphablending($dst_r, false);
imagesavealpha($dst_r, true);
}
imagecopyresampled($dst_r, $src_r, 0, 0, $delta_largeur, $delta_hauteur, $nouvelle_largeur, $nouvelle_hauteur, $this->get_largeur() - 2 * $delta_largeur, $this->get_hauteur() - 2 * $delta_hauteur);
/* En cas d'image non transparente on reduit à une image avec palette (pb de taille) */
if (!$src_alpha) {
$tmp = ImageCreateTrueColor($nouvelle_largeur, $nouvelle_hauteur);
ImageCopyMerge($tmp, $dst_r, 0, 0, 0, 0, $nouvelle_largeur, $nouvelle_hauteur, 100);
ImageTrueColorToPalette($dst_r, false, 8192);
ImageColorMatch($tmp, $dst_r);
ImageDestroy($tmp);
}
$qualite = $reduite ? self::qualite_png_reduite : self::qualite_png;
$ret = imagepng($dst_r, $this->get_src(), $qualite);
// Mise à jour des nouvelles dimensions
$this->largeur = $nouvelle_largeur;
$this->hauteur = $nouvelle_hauteur;
imagedestroy($dst_r);
}
} elseif ($this->get_ext() == _UPLOAD_EXTENSION_GIF) {
$dst_r = ImageCreateTrueColor($nouvelle_largeur, $nouvelle_hauteur);
if ($dst_r) {
imagecopyresampled($dst_r, $src_r, 0, 0, $delta_largeur, $delta_hauteur, $nouvelle_largeur, $nouvelle_hauteur, $this->get_largeur() - 2 * $delta_largeur, $this->get_hauteur() - 2 * $delta_hauteur);
$ret = imagegif($dst_r, $this->get_src());
// Mise à jour des nouvelles dimensions
$this->largeur = $nouvelle_largeur;
$this->hauteur = $nouvelle_hauteur;
imagedestroy($dst_r);
}
}
imagedestroy($src_r);
}
}
return $ret;
}
示例5: colorDecrease
private function colorDecrease()
{
$gifFInal = TMPDIR . "/" . $this->outWidth . "x" . $this->outHeight . "_T.gif";
if ($this->inFormat == "image/jpeg") {
$src_img = ImageCreateFromJPEG($this->inPath) or die('colorDecrease: Problema leyendo jpg original');
} else {
$src_img = ImageCreateFromGIF($this->inPath) or die('colorDecrease: Problema leyendo gif original');
}
$dest_img = imagecreatetruecolor($this->outWidth, $this->outHeight) or die('colorDecrease: Problema en la creaci�n de la imgen nueva gif');
imagecopy($dest_img, $src_img, 0, 0, 0, 0, $this->outWidth, $this->outHeight);
ImageTrueColorToPalette($dest_img, true, $this->nColors);
ImageColorMatch($src_img, $dest_img);
if (!imagegif($dest_img, $gifFInal)) {
die("colorDecrease: Problema guardando la IMG gif en: {$outPath}");
}
ImageDestroy($dest_img);
$this->actualSize = filesize($gifFInal);
if ($this->actualSize > $this->maxFileSize) {
$this->nColors--;
if (unlink($gifFInal)) {
$this->colorDecrease();
}
} else {
unlink($this->jpgGifXcolors);
}
}