PDA

Ver la Versión Completa : Atlas en GDI y PNG


fenixariel
11-08-2012, 21:59:26
Hola amigos del foro, me encontre con un problema.

Si es que quiero pintar texto con imagenes, lo que le dicen atlas, y uso una tira de caracteres en cualquier formato, no tengo problemas si es que paso esta imagen a bmp; pero no quedan bien las trasparencias(no tambien como un png), asi que tengo que utilizar una tira en png.

He estado usando TPngImage y TPngObject, pero ahora no he encontrado la manera de cortar(digamoslo asi) una porcion del png original y pasarla o pintarla en otro, como un TImage.

Esto era lo que estaba haciendo:

*Creaba el TPngObject
*Cargaba el png
*Con el metodo PNGObject.Pixels podia obtener el inicio y final de cada caracter en la tira del png original
*Con estos dos metodos: PNGObject.DrawUsingPixelInformation y PNGObject.Draw (los cuales tiene como uno de sus parametros canvas)pintaba en algun objeto que soportara canvas, pero......canvas no soporta
trasnparencia.

Asi que aqui estoy trabado. He visto alguna dll como ImageLib que puede hacer esta tarea pero no es gratuita, en principio deberia intentarlo a mano porque no quisiera tener que llegar a comprar una de estas dlls.

Agradeceria si alguien me echa una mano.



Saludos.

Ñuño Martínez
19-08-2012, 23:29:51
Como bien dices, si tienes que hacer manejos complejos con imágenes (y las transparencias y canales "alfa" lo son) y en varios formatos es mejor usar una biblioteca específica para el manejo de imágenes. Yo he usado un poquito la biblioteca Vampyre Imaging (http://imaginglib.sourceforge.net/) y la he visto bastante sencilla y muy potente.

escafandra
20-08-2012, 08:41:18
Quizás te interese seguir este hilo (http://clubdelphi.com/foros/showthread.php?t=75286). Por otro lado puedes escribir texto semitransparente sobre una imagen.


Saludos.