El lenguaje de programación, preprocesador de hipertexto (PHP) tiene una biblioteca de gráficos llamados gráficos dibujan (GD). GD le permite crear de forma dinámica las imágenes de acuerdo a las circunstancias cambiantes, tales como gráficos que siempre se actualizan o marcas de agua en las imágenes subidos por los usuarios. Tanto si desea dibujar un corazón o de cualquier otra forma, afilar sus habilidades para crear cualquier tipo de imagen que desea ampliará las posibilidades de lo que puede hacer con la biblioteca GD.
Instrucciones
1 Abra un editor de texto que no hace formato de texto enriquecido, como Bloc de notas y escriba la etiqueta de apertura de PHP: <? Php?.
2 Escribir una función de Bézier para dibujar curvas. La biblioteca de funciones GD no incluye una función de este tipo, por lo que cree su propia (ver Recursos). La siguiente función utiliza la "imagesetpixel," función de GD que establece un píxel en las coordenadas especificadas por el segundo y tercer parámetros. El cuarto parámetro especifica el color y, como con la mayoría de las funciones de GD, el primer parámetro es un identificador de imagen.
función de Bézier (& $ img, $ x, $ y $, el color, $ res) {
$ Cx = 3 * ($ x [1] - $ x [0]);
$ Bx = 3 * ($ x [2] - $ x [1]) - $ cx;
$ Ax = $ x [3] - $ x [0] - $ cx - $ bx;
$ Cy = 3 * ($ y [1] - $ y [0]);
$ Por = 3 * ($ y [2] - $ y [1]) - $ cy;
$ Ay $ = y [3] - $ y [0] - $ cy - $ por;
for ($ i = 0; i <= $ $ res; $ i ++) {
$ T = $ i $ / res;
$ xt = $
pow hacha ($ t, 3) + $ bx pow ($ t, 2) + cx $ * $ $ t + x [0];
$ yt = pow $ ay ($ t, 3) + $ por pow ($ t, 2) + $ cy $ * t + $ y [0];
imagesetpixel ($ img, redondo ($ xt), redondo ($ yt), $ color);
}
}
3 Inicializar la imagen y los colores que usted necesita. En el siguiente código de ejemplo, la imagen se inicializa a ser de 200 por 200 píxeles, utilizando la función "imagecreate", que también crea el identificador de imagen "$ img." Los colores rojo y blanco se inicializan con la función "imagecolorallocate" especificando los valores de 0 a 255 para rojo, verde y azul. El primer color inicializado se convertirá en el color de fondo.
$ Img = imagecreate (200, 200);
$ = Blanco imagecolorallocate ($ img, 255, 255, 255);
$ Roja = imagecolorallocate ($ img, 255, 0, 0);
4 Crear dos tablas para las direcciones x e y las coordenadas de los cuatro puntos que van a determinar la forma de la curva de Bézier. Para especificar la forma de la curva, pensar en términos de dos vectores tangentes, cuya magnitud determina la cantidad de influir en la dirección del vector tiene sobre la curva, al igual que la trayectoria de una pelota que cae en un fuerte viento. El primero de los cuatro puntos especifica uno de los puntos finales de la curva y la cola del primer vector y el segundo especifica la cabeza del vector. La distancia entre los puntos corresponde a la magnitud y su posición relativa determina la dirección. El tercer punto es la cabeza del segundo vector y el cuarto punto es la cola del vector y el otro punto final.
En el siguiente ejemplo, los cuatro puntos son (100, 40), (150, -10), (250, 80) y (100, 180), donde la esquina superior izquierda de la imagen es (0, 0). Las coordenadas x de los puntos finales son a la vez 100, que los centra en el lienzo de izquierda a derecha. Las coordenadas indican el primer punto final a 40 está por encima de la otra en 180. Las cabezas del vector son tanto por encima ya la derecha de sus respectivos puntos finales. Separar las direcciones x e y las coordenadas en sus propias matrices:
$ X_coords = array (100, 150, 250, 100);
$ Y_coords = array (40, -10, 80, 180);
5 Dibujar la curva con la función de Bézier creado en el paso 2. En la función de ejemplo, el primer parámetro es el identificador de imagen; los siguientes dos parámetros son los arrays para los ejes x e y las coordenadas; el cuarto es el color; y la última es la resolución. El parámetro de resolución determina el número de puntos que va a representar, por lo especifique un número mayor para las curvas bien definidas. Por ejemplo, escriba:
bezier ($ img, x_coords $, $ y_coords, $ roja, 500);
6 Redefinir las coordenadas para dibujar la curva en el lado izquierdo del corazón, y la trama con la función de Bézier. Los criterios de valoración para la curva de la izquierda son las mismas que las de la derecha. Lo único que cambia es las coordenadas x de las cabezas de vectores. Los nuevos tienen que ser lo más a la izquierda del centro como los anteriores eran a la derecha del centro a fin de que cada lado sea una imagen especular de la otra similares. Por ejemplo, escriba:
$ x_coords [1] = 50; // cabeza primer vector fue de 150.
$ x_coords [2] = -50; // En segundo extremo del vector fue de 250.
bezier ($ img, x_coords $, $ y_coords, $ roja, 500);
7 Mostrar la imagen y destruir el objeto en la imagen para liberar la memoria. La función de "cabecera" es necesaria para que el navegador va a tratar la salida como una imagen. Terminar el archivo con el cierre de la etiqueta PHP. Por ejemplo, escriba:
header ( "Content-type: image / png");
imagepng ($ img);
imagedestroy ($ img);
?>