logo El diario de Pepe Molina (Caricatos)

yo

Juguemos a encontrar diferencias entre las dos imágenes que vemos junto a este párrafo... Ambas tienen el mismo color, el mismo borde y la misma forma.


Última caricatura

IV Asamblea de la AEC: IV Asamblea General de la Asociación Española de Caricaturistas

IV Asamblea de la AEC

RSS de las imágenes: rss


La Cita

Cuando algo es divertido, busca ahí una verdad escondida

George Bernard Shaw, dramaturgo irlandés (1856-1950).


En esta zona están las páginas personales del autor.


Mis clientes ahora también son mis amigos (aunque les cobre).


En Mis amigos Informáticos hay una pequeña colección de páginas de colegas webmasters..


En Mis amigos artistas podemos encontrar artistas de cualquier índole (dibujantes, pintores, escritores...)


Las recomendaciones que proponemos son de índole variada.


Aquí un cajón de sastre de enlaces.


Nos referencian desde sitios de toda índole.


Puede contribuir a mantener esta página con su donativo.


botón pay-pal

SVG: Recorridos circulares

emoticón de Caricatos Publicado el día 01 de diciembre de 2013
id=127; categorías: Vicisitudes de un Webmaster, Programación

Juguemos a encontrar diferencias entre las dos imágenes que vemos junto a este párrafo... Ambas tienen el mismo color, el mismo borde y la misma forma. Entonces... ¿Hay diferencias?

Pues si que hay una sutil diferencia, la primera imagen está construida por un círculo y la segunda por un camino o recorrido "path". A continuación mostramos el código de esas imágenes:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="50px" height="50px">
	<circle fill="#ff6666" cx="50" cy="50" r="49" stroke="#000000" transform="scale(.5)"/>
</svg>

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="50px" height="50px">
	<path fill="#ff6666" stroke="#000000" d="M 50, 50 m -49, 0 a 49, 49 0 1, 0 98, 0 a 49, 49 0 1, 0 -98, 0" transform="scale(.5)"/>
</svg>

Y ¿para qué puede interesarnos hacer un circulo con un camino "path"? Veamos un sencillo ejemplo:

El mundo gira...

Junto a estas líneas vemos que "El mundo gira...", una imagen que hemos sacado de nuestra galería, que representa a nuestro planeta girando permanentemente. Pero el texto con el que hemos etiquetado a nuestra imagen también gira de la misma manera.

PEPEMOLINA.COM PEPEMOLINA.COM La intención de usar dos arcos para crear un círculo, en nuestro caso es para adaptar un texto a esos arcos. También podemos valernos de uno solo de los arcos mencionados para alinear un texto a la línea base de un semicírculo.

Sobre el uso de recorridos para alinear textos debemos tener en cuenta información adicional como el tipo de alineación y el lugar donde empezaremos el recorrido.

El código de las dos imágenes etiquetadas con el nombre del dominio "pepemolina.com", del párrafo anterior es el siguiente:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="80px" height="80px" style="padding: 1em; border: 1px solid blue; margin: 0 0 .5em 1em; float: right;" preserveAspectRatio="none" viewBox="0 0 100 100">
	<use xlink:href="#vuelta_horaria" fill="pink" stroke="blue"/>
	<image xlink:href="diario.imagen.php?id=12&max=100" x="0" y="0" width="100%" height="100%" />
	<text x="0" y="0" style="font-weight: bold">
		<textpath xlink:href="#vuelta_horaria" text-anchor="middle" startoffset="25%">
			<tspan dy="-4">
				PEPEMOLINA.COM
			</tspan>
		</textpath>
	</text>
</svg>

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100px" height="50px" style="padding: 1em; border: 1px solid blue; margin: 0 0 .5em 1em; float: right;" preserveAspectRatio="none" viewBox="0 0 100 50">
	<text x="0" y="0" style="font-weight: bold;">
		<textpath xlink:href="#media_vuelta_inversa" text-anchor="middle" startoffset="50%" method="align" >
			<tspan dy="10">
				PEPEMOLINA.COM
			</tspan>
		</textpath>
	</text>
	<use xlink:href="#media_vuelta_inversa" fill="none" stroke="black">
</svg>

Previamente habíamos definido los recorridos junto al fondo en degradado del círculo de una de ellas en otra etiqueta svg:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="0" height="0">
	<defs>
		<path id="vuelta_horaria" d="M 50, 50 m -50 0 a 50, 50 0 1, 1 100, 0 a 50, 50 0 1, 1 -100, 0"/>
		<path id="vuelta_inversa" d="M 50, 50 m -50 0 a 50, 50 0 1, 0 100, 0 a 50, 50 0 1, 0 -100, 0"/>
		<path id="media_vuelta_horaria" d="M 0, 50 a 50, 50 0 1, 1 100, 0"/>
		<path id="media_vuelta_inversa" d="M 0, 0 a 50, 50 0 1, 0 100, 0"/>
		<radialGradient id="fondo_svg" cx="50%" cy="50%" r="50%">
			<stop offset="60%" style="stop-color: white; stop-opacity: 1" />
			<stop offset="80%" style="stop-color: gold; stop-opacity: 1" />
			<stop offset="100%" style="stop-color: magenta; stop-opacity: 1" />
		</radialGradient>
	</defs>
</svg>

Con respecto a la alineación centrada del texto en un recorrido, debemos poner el atributo "text-anchor" con el valor "middle" y el atributo "starOffset" con el valor "50%". Notese que hemos asignado el valor "25%" en un recorrido circular para centrar el texto en la parte superior del recorrido.

Y poco más...

La manera de obtener los recorridos circulares está basada en el algoritmo:

<path
	d="
		M cx cy
		m -r, 0
		a r,r 0 1,0 (r * 2),0
		a r,r 0 1,0 -(r * 2),0
	"
/>

La discusión donde obtuvimos el algoritmo es "Circle drawing with SVG's arc path".

Zona de comentarios

Este apunte aún no tiene comentarios.

Evaluación

Valoración de esta página: (apunte.127) valor

Valoración evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar evaluar

Respuesta: Zona de mensajes (proceso de evaluación)

Historial de navegación

Esta página ha sido visitada en 3075 ocasiones


Disponemos de rss sindicar

Y del Mapa del sitio, además del sitemap.xml.


Aquí podemos encontrar los apuntes más visitados.

"Top 10" reemplaza a la sección Últimos apuntes.


Una buena forma de buscar un apunte es a partir de su categoría.


También es posible buscar apuntes por medio de las etiquetas (tags).


Hemos decidido poner al alcance de todos algunos comodines.

Adjuntamos una versión reducida del "buscador interno" que vemos en la lista anterior:

Buscar en apuntes

También estamos recopilando antiguas páginas del sitio.


Desde este recuadro se puede hacer una búsqueda cronológica.


Se puede crear una postal nueva desde el enlace del sector "Otras páginas del dominio", o editar la que sale en el recuadro, pulsando sobre ella..

../diario.imagen.php?id=2&max=480
enlace a la postal
Copyright © 2002-2018 www.pepemolina.com
RSS rss | Ver Mapa del sitio