Quiero lograr un efecto de desenfoque usando QML. Encontré referencias sobre el "efecto: Desenfoque" (Example) pero en Qt 4.8 esto no funciona. Por lo que sé, esto se implementa con el código C++. ¿Pero cómo?Qml y imagen borrosa
Respuesta
El atributo effect
, que tienen todos los elementos visuales QML, acepta todos los efectos que son subclases de QGraphicsEffect
. Qt 4.8 se envía con QGraphicsBlurEffect
, QGraphicsColorizeEffect
, QGraphicsDropShadowEffect
y QGraphicsOpacityEffect
. Originalmente, estos estaban disponibles en QML por defecto, pero al mismo tiempo en desarrollo (antes del primer lanzamiento público de QtQuick) fueron excluidos por razones de rendimiento. Para hacer que funcionen de nuevo, uno tiene que incluir las siguientes líneas de código en la parte C++ de su aplicación, por ejemplo en la función main
:
qmlRegisterType<QGraphicsBlurEffect>("Effects",1,0,"Blur");
qmlRegisterType<QGraphicsColorizeEffect>("Effects",1,0,"Colorize");
qmlRegisterType<QGraphicsDropShadowEffect>("Effects",1,0,"DropShadow");
qmlRegisterType<QGraphicsOpacityEffect>("Effects",1,0,"OpacityEffect");
Esto crea estas clases disponibles para QML lo que uno puede utilizarlos como :
import QtQuick 1.1
import Effects 1.0
Item {
// [...]
effect: Blur {
blurRadius: 10.0
}
}
Esto funciona, pero en muchos casos el rendimiento resultante es realmente inaceptable. Luego, debe intentar implementar el desenfoque con la ayuda de ShaderEffectItem
. De esta forma, se pueden realizar efectos gráficos con los programas de sombreado GLSL, lo que resulta en una renderización de GPU mucho más rápida que con el antiguo enfoque basado en QGraphicsEffect
.
No sé de qué estás hablando, pero: Qt se envía con un ejemplo llamado Shader Effects. Como su nombre lo indica, utiliza sombreadores de GPU declarados dentro del QML para lograr todo tipo de efectos geniales.
- 1. guardando la imagen QML
- 2. QML: Problema al renderring pantalla QML
- 3. La imagen de gran tamaño es borrosa cuando se reduce
- 4. Imagen de fondo borrosa al escalar en iPad e iPhone
- 5. PDFBox imagen borrosa cuando se inserta en pdf en Java
- 6. Trama de canvas HTML5() gruesa y borrosa
- 7. iphone, al guardar la imagen con "renderInContext" en el dispositivo, ¿la imagen está borrosa?
- 8. Cómo dibujar una forma borrosa?
- 9. fuente predeterminada en Eclipse en OSX es terrible (y borrosa)
- 10. QML rompecabezas alcance componente
- 11. Borrar QML anchor
- 12. QML C++ Child Find
- 13. Recursos para aprender QML?
- 14. Fuente borrosa de Visual Studio 2010
- 15. Crear una etiqueta utilizando NSTextField es borrosa
- 16. Tamaño de elementos en QML
- 17. QML animaciones propiedad visible cambia
- 18. análisis XML con QML XmlListModel
- 19. QML: ¿cómo manejar el mouse?
- 20. QML: GridView con celdas móviles (arrastrar y soltar)
- 21. elemento se vuelve borrosa después de la transición o animación
- 22. Usar una fuente de icono (Font Awesome) parece un poco borrosa y demasiado audaz
- 23. ¿Cómo puedo convertir códigos binarios a una imagen png en qml?
- 24. Alojamiento del widget QOpenGL dentro de QML
- 25. Conexión de C++ con QML usando Q_INVOKABLE
- 26. Envoltura de texto Qml (ancho máximo)
- 27. ¿Es posible hacer QML ListView cíclico?
- 28. Representación OpenGL a un elemento QML
- 29. Accede a la función C++ desde QML
- 30. QML Listview seleccionado resaltar punto del clic