logo El diario de Pepe Molina (Caricatos)

yo

Hace algunos años las revistas sobre temas informáticos nos inundaron de dibujitos conocidos como "clipart" (o clip-art)


Ú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

La física es, afortunadamente, simple. Los físicos no

Edward Teller, Físico nuclear estadounidense de origen húngaro (1908-2003).


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

Clip-Art: de wmf a svg

emoticón de Caricatos Publicado el día 08 de marzo de 2015
id=143; categorías: Vicisitudes de un Webmaster, Globalización, Programación

Hace algunos años las revistas sobre temas informáticos nos inundaron de dibujitos conocidos como "clipart" (o clip-art).

Aquellos dibujos digitales eran sobre todo imágenes animadas en formato gif, o vectoriales wmf. Los primeros podrían ser útiles en presentaciones en ordenadores, y los segundos eran muy importantes en diseño gráfico para impresión.

Para obtener el mismo dibujo, pero en formato svg existen algunas aplicaciones para su conversión. La más conocida y de libre uso es Inkscape. Y sin ser libre existen aplicaciones de edición vectorial entre los que destacamos CorelDRAW.

Otras aplicaciones interesantes para la conversión son:

SVG Factory
Conversor de imagenes wmf y bmp. Puede convertir ficheros o carpetas.
EMF to SVG Converter
Conversor de imagenes wmf. Puede convertir ficheros o carpetas.

Usando estas aplicaciones hemos notado que en algunas ocasiones no funcionaba correctamente así que pensamos usar Inkscape, pero ayudados por un fichero de sistema por lotes.

Copiando estructura y generando el fichero .bat.

Primero hemos creado un par de carpetas en nuestro sistema "localhost": clipart_wmf y clipart_svg. Luego hemos copiado el sistema de archivos wmf a la carpeta "clipart_wmf", y hemos creado un fichero php con el siguiente código:

<?php
$l = Array();
function hacer($origen, $destino) {
	global $l;

	function recorrer($co, $cd)	{
		global $l;
		if (!is_dir($cd))
			mkdir($cd);
		$puntos = Array(".", "..");
		$d = dir($co); $cuenta = 0;
		while (false !== ($entry = $d->read()))	{

			if (!in_array($entry, $puntos))
				if (is_dir("$co/$entry"))	{
					recorrer("$co/$entry", "$cd/$entry");
				}
				else	{
					if (strpos(strtolower($entry), ".wmf"))	{
						$base = substr($entry, 0, strrpos(strtolower($entry), ".wmf")).".svg";
if (!is_file("$cd/$base"))
						array_push($l, "c:\Inkscape\Inkscape ".str_replace("/", "\\", $co)."\\$entry --export-plain-svg=".str_replace("/", "\\",$cd)."\\$base");
						$cuenta++;
					}
				}
		}
		echo "carpeta: $co ($cuenta dibujos)<br/>\n";
	}

	if (is_dir($origen))	{
		recorrer($origen, $destino);
		file_put_contents("exportar.bat", implode("\n", $l));

	}
	else
		echo "no existe carpeta $origen";
}

hacer("dibus_wmf", "dibus_svg");
?>

El código recorre la carpeta de ficheros wmf y por cada carpeta leída en origen, genera la misma carpeta en el destino; y por cada fichero wmf encontrado se añade a un array una línea de texto que luego se volcará a un fichero "exportar.bat".

Luego ejecutamos "exportar.bat", y si todo funciona correctamente, obtendremos los resultados deseados.

Notas adicionales

Según el número de ficheros y carpetas del sistema que tengamos, podría abortarse la página, así que deberíamos seguir la premisa: "divide y vencerás".

Podemos hacer la conversión por etapas, cancelando el proceso manualmente; en tal caso deberíamos generar nuevamente el fichero por lotes "exportar.bat", o eliminar las líneas de texto del fichero en cuestión referentes a los dibujos ya creados.

Zona de comentarios

Hemos encontrado 2 comentarios.

#Mensaje enviado por Andrés
Comentario escrito el día 30 de marzo de 2015, a la hora 21:00:15
url: http://www.disegnocentell.com.ar
email: mobius@disegnocentell.com.ar

¡Hola, Pepe! ¿No probaste usar la función exec de php en lugar de crear un archivo .bat? Imagino que si añadís al Path la ruta al ejecutable (PC->propiedades->configuración avanzada del sistema->variables de entorno) tendría que funcionar bien.

#Mensaje enviado por Pepe Molina
Comentario escrito el día 05 de de 2015, a la hora 08:37:15
url: http://www.pepemolina.com

Gracias Andrés:


Si encuentro más librerías lo probaré, aunque ya he convertido millares.


Un abrazo mi emoticón

Evaluación

Valoración de esta página: (apunte.143) 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 14267 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..

http://www.pepemolina.com/postales/Fondos/santa.gif
http://www.pepemolina.com/postales/animales/gato8t.gif
Feliz Navidad
Feliz Navidad
enlace a la postal
Copyright © 2002-2024 www.pepemolina.com
RSS rss | Ver Mapa del sitio