Convirtiendo imagenes SVG a otros formatos gráficos con SharpVectorGraphics

lunes, 25 de mayo de 2009

SharpVectorGraphics es un proyecto open source basado en .NET, y tiene como objetivo hacer la vida mas fácil a las aplicaciones que desean usar gráficos SVG (ver, generar o manipular)

SVG es una especificación de gráficos vectoriales usando XML del W3C, permitiendo a las aplicaciones intercambiar gráficos fácilmente usando un formato común, pudiendose renderizar una sola imagen a cualquier tamaño sin perder calidad. Lamentablemente solo firefox ofrece la posibilidad de renderizarlos sin necesidad de ningún plugin adicional, mientras que por ejemplo para IE es necesario instalar un ActiveX como lo es el SVG Viewer de Adobe.

Una de las principales características que ofrece este framework es poder convertir imagenes SVG a otros formatos usando el motor de renderización GDI, a continuación coloco un snippet de esta característica.


private Bitmap SVG2Bitmap(string conteSVG) {
GdiRenderer renderer = new GdiRenderer();
renderer.ClearMap();

SvgWindow window = new SvgWindow(200, 200, renderer);
SvgDocument document = new SvgDocument(window);
renderer.Window = window;
window.Renderer = renderer;
document.LoadXml(conteSVG);
window.Document = document;

ISvgSvgElement svgEl = window.Document.RootElement;
window.InnerWidth = (int)svgEl.Width.BaseVal.Value;
window.InnerHeight = (int)svgEl.Height.BaseVal.Value;

renderer.Render(window.Document as SvgDocument);

Bitmap rasterImage = ((GdiRenderer)window.Renderer).RasterImage;
return rasterImage;
}

..........
Bitmap image = SVG2Bitmap(strConte);
image.Save("c:\\imagenTransformada.gif", ImageFormat.Gif);
..........


Después de hacer muchas pruebas con imagenes SVG complejas, que no todos los visualizadores actuales son capaces de renderizar, creo que este es un proyecto bastante maduro, pese a estar en una version Alfa desde el 2005, además creo que este framework suple la NO traducción del proyecto Batik de Apache para poder ser usado con NFop en lo referente a generar documentos PDF con imagenes SVG incrustadas.

Enlaces relacionados:
SharpVectorGraphics (aka SVG#)
SVG-Wiki

- FIN -

Creando aplicaciones con Prism V2

viernes, 22 de mayo de 2009

PRISM es la guia para crear aplicaciones WPF y Silverlight.

La suma total de tiempo de todos los videos es aproximadamente 1:10 minutos.

Video 1 (Creando el esqueleto)





Get Microsoft Silverlight



Video 2(composición visual)





Get Microsoft Silverlight



Video 3 (Implementando vistas y servicios)





Get Microsoft Silverlight



Video 4 (comunicación asíncrona)





Get Microsoft Silverlight



- FIN -

C# y VB.NET juntos

martes, 19 de mayo de 2009

Al parecer estos dos lenguajes de programación dejaran de andar por separado para empezar a andar juntos; el video dura aproximadamente 33 minutos.






Get Microsoft Silverlight




Después de este video creo que acabare haciendo algún pinito con F# :-)

- FIN -