[Kde-devel-es] Imágenes con fondo transparente

José Luis kde-devel-es@mail.kde.org
Tue, 18 Feb 2003 23:06:20 +0100


	Hola Antonio,

El Martes, 18 de Febrero de 2003 21:29, Antonio Larrosa Jiménez escribió:

> Es simple, usa sólo objetos del tipo QImage (de todas formas, dudo que
> puedas usar un QPixmap si no usas XWindows :) ), y usa
> QImage::setAlphaBuffer( true );

	Basicamente, entiendo todo lo que me has dicho. Ahora bien, aunque puedo usar 
un QImage lo que más me interesaría es un QPixmap por la sencilla razón de 
que tengo que dibujar en él varios tipos de cosas: polilíneas, cuadrados, 
rectángulos y algo de texto. Algo que ya he intentado ha sido hacer el 
setAlphaBuffer en un QImage, pintar en un Qpixmap y luego llamar al método 
convertToImage. Pero por alguna razón no funciona o no he sabido hacerlo 
funcionar así.

> Lo mejor es que uses QImage::scanLine( y ); para coger un puntero a donde
> empiezan los datos de la linea y-ésima, y escribir tú mismo los valor=
es de
> los píxeles de esa linea usando algo como:
>
> for ( int x=0, QRgb *pixel=image.scanLine(y) ; x<width; x++, pixel++)
>    *pixel=qRgba( r, g, b, a);
>
> (Eso es suponiendo que tu imagen es de 32 bits)

	El método scanLine ya lo he utilizado antes sí, se como funciona. Lo que no 
tenía previsto era tener que utilizar un QImage...

> Por la interacción con el usuario no te preocupes, el usar KApplication=
 (al
> igual que el usar QApplication) tampoco necesita un servidor X
> funcionando. Aunque lo de que sea un Solaris, supongo que dificulta el
> encontrar paquetes de KDE. En cualquier caso, si Qt te ofrece toda la
> funcionalidad que necesitas, tampoco hay necesidad de usar KDE.

	En ese caso la Qt por sí sola me ofrece mucho más de lo que necesito, por eso 
no quiero complicarme la vida dependiendo de más librerías que pueden ser una 
fuente de problemas por una razón u otra. Hace ya algún tiempo que descubrí 
la increíble belleza de las Qt, y la simplicidad que supone depender de UNA 
sola librería. ;-)

	Saludos
	José Luis