[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