Как я могу сделать градиент между 2 или более эллипсами с GD? - PullRequest
3 голосов
/ 09 августа 2011

Как я могу сделать градиент между 2 или более эллипсами с помощью GD?

Следующее является эллипсом:

<?php

header( "Content-type: image/gif" );

$imagen = imagecreatefrompng('tras.png');


$morado = array( 'r' => 186, 'g' => 0, 'b' => 255 );
$amarillo = array( 'r' => 255, 'g' => 220, 'b' => 0 );

$pasos = 2000;

$incr_r = ( $amarillo['r'] - $morado['r'] ) / $pasos;
$incr_g = ( $amarillo['g'] - $morado['g'] ) / $pasos;
$incr_b = ( $amarillo['b'] - $morado['b'] ) / $pasos;

$cx = imagesx( $imagen ) / 3;
$cy = imagesy( $imagen ) / 3;

$ancho = 240;
$alto = 140;

$incr_x = $ancho / $pasos;
$incr_y = $alto / $pasos;

$r = $morado['r'];
$g = $morado['g'];
$b = $morado['b'];

for( $i = 0; $i < $pasos; $i++ ){
$color = imagecolorallocate( $imagen, $r, $g, $b );
imagefilledellipse( $imagen, $cx, $cy, $ancho, $alto, $color );
imagefilledellipse( $imagen, $ñ, $k, $ancho, $alto, $color );

$r += $incr_r;
$g += $incr_g;
$b += $incr_b;

$ancho -= $incr_x;
$alto -= $incr_y;
}

imagegif( $imagen );

imagedestroy( $imagen );

?>

Модель ... Это... http://img88.imageshack.us/img88/11/capturazv.png без резки

1 Ответ

0 голосов
/ 11 августа 2011

Возможно, класс здесь поможет вам, хотя я его не проверял.

...