Articles

WxWidgets y Magick++ v/s Qt : Mi experiencia con Photopal

Photopal es el nombre de una sencilla aplicación de escritorio en la que he trabajado. Los usuarios pueden simplemente arrastrar y soltar la imagen y se convierte a la resolución preferida por el usuario (por defecto 72dpi). Suelte un gran número de imágenes o carpetas y las convertirá eficientemente.

Creé esta aplicación usando dos librerías populares – wxWidgets y Qt. Explicaré ambas primero si alguien quiere usarlas y luego las compararé.

¿Cómo usar WxWidgets en Windows?

Descarga la fuente de wxWidgets desde https://www.wxwidgets.org/downloads/ . Descomprimir el archivo que ha descargado.

Ahora bajo la carpeta wxWidgets navegar a /build/msw .
Usted encontrará varios proyectos de visual studio nombres como wx_vc follwed por la versión de visual studio por ejemplo, para visual studio 13 es wx_vc12 .
Abrelo en Visual Studio y compílalo usando la configuración que quieras para, por ejemplo, liberar en x64.

Los archivos correspondientes se crearán en la carpeta wxWidgets bajo la carpeta include y lib respectivamente. Se generan los archivos necesarios para wxWidgets.

Para incluirlo en su proyecto , abra las propiedades de su proyecto.
En las propiedades de C/C++ – pestaña General , dé la ruta a su carpeta (wxWidgets)/include y (wxWidgets)/include/msvc en Directorios adicionales de inclusión.

Bajo C/C++ properties – Preprocessor – Preprocessor Definitions , añada WIN32 , WXUSINGDLL , _WXMSW , wxMSVC_VERSION_AUTO , _UNICODE y UNICODE.

Ahora bajo Linker – General – Link Library Dependencies añada la ruta a su carpeta lib/vc que contiene sus archivos dll e.Por ejemplo, vc120_x64_dll.
Bajo Linker – Input – Additional Dependencies añada los archivos lib que necesite, por ejemplo, wxmsw31u_core.lib , wxmsw31u_gl.lib y wxbase31u.lib.
WxWidgets ya está configurado.

¿Cómo usar Magick++ en Windows?

Descargue la fuente de Magick++ https://www.imagemagick.org/script/download.php y descomprímala.

Para crear un espacio de trabajo para sus necesidades, simplemente vaya a la carpeta
VisualMagick\configure y abra el espacio de trabajo configure.dsw (para
Visual Studio 6) o configure.sln (para Visual Studio 7 u 8).
Ajuste la configuración de compilación a Release o Debug. Construya y ejecute el programa configure y siga las instrucciones en pantalla.

Después de una construcción exitosa, todos los archivos requeridos que se necesitan para ejecutar
cualquier herramienta de línea de comandos se encuentran en la carpeta VisualMagick\bin. Esto incluye el EXE, las librerías DLL y los archivos de configuración de ImageMagick.
Para ejecutarlo en su proyecto simplemente defina la referencia a los archivos de cabecera (directorio include) y a los archivos lib (directorio lib ) en el visual studio.
También añada CORE_RL_Magick++_.lib y CORE_RL_MagickCore_.lib a las dependencias adicionales en Linker – Input. También copie los archivos xml a la ubicación del ejecutable.

Ahora viene la parte complicada , imagemagick se ejecuta sólo en los sistemas donde ya está instalado. Para superar esta dificultad, simplemente descargue el archivo exe de imagemagick. Vaya a Archivos de programa/ imagemagick y copie los archivos dll en la carpeta coders. Ahora imagemagick está listo para ser ejecutado.

¿Cómo utilizar WxWidgets en Ubuntu?

Abra el terminal y escriba
deb http://apt.wxwidgets.org/ natty-wx main
deb-src http://apt.wxwidgets.org/ natty-wx main

Para añadir la firma digital escriba :
curl http://apt.wxwidgets.org/key.asc | sudo apt-key add –

Ejecute los siguientes comandos en el terminal:
sudo apt-get update
sudo apt-get install wx2.8-headers libwxgtk2.8-0 libwxgtk2.8-dev
cd /usr/include
ls | grep wx
sudo ln -sv wx-2.8/wx wx

Añadir `wx-config – cxxflags` `wx-config -libs` y las librerías wxWidgets necesarias al comando g++ mientras se compila el proyecto WxWidgets.

¿Cómo utilizar Magick++ en Ubuntu?

Abra la terminal y construya los elementos esenciales para Magick++ como:
sudo apt-get install build-essential checkinstall && apt-get build-dep imagemagick -y

Ahora descargue el ImageMagick escribiendo:
sudo wget http://www.imagemagick.org/download/ImageMagick.tar.gz

Descomprima el tar :
sudo tar xzvf ImageMagick.tar.gz

Ejecute los siguientes comandos en el terminal :
cd ImageMagick-7.0.4-5
./configure
make clean
make
checkinstall
ldconfig /usr/local/lib
ImageMagick está listo para ejecutarse en su sistema.

Enfoque 2 – Qt :

¿Cómo utilizar Qt?

Descargue el Qt desde el sitio web oficial utilizando el instalador en línea o fuera de línea – https://www.qt.io/download-open-source/

Después de la instalación , abra el creador de Qt.Crear un proyecto Qt y ejecutarlo en el modo de liberación o depuración.

Construir un distribuible en Qt :
Ir a la C:\Qt\(versión)\N(compilador)\N-. por ejemplo, C:\Qt\5.9.1\msvc2013_64\bin
Abra el terminal aquí y ejecute :
windeployqt (ubicación de su archivo binario).
Su ejecutable distribuible junto con la dll requerida se hace automáticamente.

Comparación de WxWidget y Magick++ vs Qt :

WxWidgets es sólo una librería Gui y necesita Magick++ para el procesamiento de imágenes mientras que Qt es una librería completa y contiene varias utilidades, una de las cuales es el procesamiento de imágenes. Uno puede notar fácilmente que usar Qt es menos complejo que WxWidgets . Incluso el código de Qt es simple de escribir y entender. Qt es mucho más abstracto que WxWidgets, lo que se notó bastante cuando trabajé en pthread en wxWidgets y en el propio hilo de Qt, QThread. Así que depende de tu área de aplicación si quieres trabajar con Qt o WxWidgets. En mi caso particular, sin embargo, Qt fue una mejor opción.

Si te enfrentas a cualquier dificultad en la implementación de cualquiera de estas bibliotecas, estaré encantado de ayudarte.