PHP.mk документација

imagelayereffect

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.imagelayereffect.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.imagelayereffect.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
imagelayereffect

Референца за `function.imagelayereffect.php` со подобрена типографија и навигација.

function.imagelayereffect.php

imagelayereffect

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

imagelayereffectПоставете го знамето за алфа мешање за да користите ефекти на слоеви

= NULL

imagelayereffect(GdImage $image, int $effect): true

Поставете го знамето за алфа мешање за да користите ефекти на слоеви.

Параметри

image

А GdImage не применува никакво полнење, така што ширината на сликата мора да биде множител на 8. Ова ограничување веќе не важи од PHP 7.0.9. imagecreatetruecolor().

effect

Една од следниве константи:

IMG_EFFECT_REPLACE
Користи замена на пиксели (еквивалентно на поминување true to imagealphablending())
IMG_EFFECT_ALPHABLEND
Користи нормално мешање на пиксели (еквивалентно на поминување false to imagealphablending())
IMG_EFFECT_NORMAL
Исто како IMG_EFFECT_ALPHABLEND.
IMG_EFFECT_OVERLAY
Преклопувањето има ефект што црните пиксели на позадината ќе останат црни, белите пиксели на позадината ќе останат бели, но сивите пиксели на позадината ќе ја земат бојата на пикселот на преден план.
IMG_EFFECT_MULTIPLY
Преклопува со ефект на множење.

Вратени вредности

Секогаш враќа true.

Дневник на промени

Верзија = NULL
8.0.0 image беше вратено при неуспех. GdImage инстанца сега; претходно, валидна gd resource се очекуваше.
7.2.0 Додадено IMG_EFFECT_MULTIPLY (бара системска libgd >= 2.1.1 или вклучена libgd).

Примери

Пример #1 imagelayereffect() example

<?php
// Setup an image
$im = imagecreatetruecolor(100, 100);

// Set a background
imagefilledrectangle($im, 0, 0, 100, 100, imagecolorallocate($im, 220, 220, 220));

// Apply the overlay alpha blending flag
imagelayereffect($im, IMG_EFFECT_OVERLAY);

// Draw two grey ellipses
imagefilledellipse($im, 50, 50, 40, 40, imagecolorallocate($im, 100, 255, 100));
imagefilledellipse($im, 50, 50, 50, 80, imagecolorallocate($im, 100, 100, 255));
imagefilledellipse($im, 50, 50, 80, 50, imagecolorallocate($im, 255, 100, 100));

// Output
header('Content-type: image/png');

imagepng($im);
?>

Горниот пример ќе прикаже нешто слично на:

Output of example : imagelayereffect()

Белешки од корисници 4 белешки

rx
пред 11 години
IMG_EFFECT_OVERLAY doesn't work in PHP 5.6.0 with GD version: 2.1.0-alpha.
[myname]@mac.com
пред 18 години
^^ my name is coreyward ^^

imagelayereffect needs to be applied to the destination image, not the source image. As noted, the only useful "effect" as of this time is IMG_EFFECT_OVERLAY since the others are merely another way of setting the alpha blending flag. 

You can also use imagecopymerge with a lower pct argument to blend two images with more control over the opacity at which the top image is blended. 

<?

// overlays $im_src onto $im_dst properly (assuming same dims)

imagelayereffect($im_dst, IMG_EFFECT_OVERLAY);
imagecopy($im_dst, $im_src, 0, 0, 0, 0, $im_dst_x, $im_dst_y);

?>
Рејмон
пред 18 години
I found the following example on a Chinese site and translated and adjusted it. It creates a portrait from the sample picture.

<?php

// Portrait image
$im = imagecreatefromjpeg( "sample.jpg");

// Get width and height
$w = imagesx($im); 
$h = imagesy($im);

// Non-through
$c_visible = 0x007F7F7F;
// Background (black) 
$c_bg = 0x00000000; 

// Create mask
$im_mask = imagecreatetruecolor($w,$h);
imageFilledRectangle($im_mask, 0,0, $w,$h, $c_bg); 
imageFilledEllipse ($im_mask, $w/2,$h/2, $w*.9,$h*.9, $c_visible);

// Only overlay seems to something useful
imagelayereffect($im_mask, IMG_EFFECT_OVERLAY);

imagecopy($im_mask, $im, 0,0, 0,0, $w,$h); 
imagedestroy($im);

imagepng($im_mask);
imagedestroy($im_mask);

?>

Try removing the 'create mask' code and just add another image with 'createimagefromjpeg' to see 'normal' overlay. It blends the colors like different layers in Photoshop.
PHP на Drarok точка com
пред 17 години
I have been getting a fatal error:

Fatal error: Call to undefined function imagelayereffect()

This doesn't work with Ubuntu server (8.04 lts) and the php5-gd package.  If you need this you will have to recompile PHP with GD built-in.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.