Pregunta

Es allí una manera de conseguir DG de la función imagefilledarc()'s resultado en el uso de PHP ImageMagick?He mirado pero no he encontrado una solución satisfactoria hasta el momento.Yo lo quiero para apoyar la transparencia, y el uso de ella para elaborar pasteles.

¿Fue útil?

Solución 4

Dado que esta publicación es golpeada por googlers de vez en cuando, y no tiene una respuesta válida, pensé que debería dar algunas pistas. Hay una excelente biblioteca llamada Imagine ( https://github.com/avalanche123/Imagine ) que admite las bibliotecas de imágenes PHP más populares (ImageMagick, GraphicsMagick y GD) que usan las mismas llamadas.

Su API incluye una función pieSlice ( https://imagine.readthedocs.io/en/stable/_static/API/Imagine/Draw/DrawerInterface.html#method_pieSlice ). La fuente de esa función es https: // github. com / avalanche123 / Imagine / blob / desarrollo / src / Imagick / Drawer.php # L242

Otros consejos

Su mejor opción sería usar ImageMagick :: Draw. Tiene un comando de arco; en lugar de especificar el centro, especifique el rectángulo delimitador. Solo necesita agregar un comando antes para establecer el relleno, y tal vez después para cerrar el relleno.

http://us.php.net/manual/en /function.imagickdraw-arc.php

Hasta donde yo sé, ImagickDraw :: arc es la única forma de hacerlo (a menos que desee crear una función que lo dibuje píxel por píxel). Pero para que funcione de la misma manera que gd, solo tiene que hacer cambios menores. Por ejemplo, esto:

imagearc($image, $cx, $cy, $width, $height, $start, $end, $color);

Debería ser equivalente a esto (no lo he probado):

ImagickDraw::setStrokeColor($imageMagickColor);    //I don't remember how to allocate the color
ImagickDraw::arc($cx-$width/2, $cy-$height/2, $cx+$width/2, $cy+$height/2, $start, $end);

No es exactamente lo que estábamos pidiendo, pero es fácil dibujar gráficos circulares con Google Chart API http://code.google.com/apis/chart/

alt text

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top