Articles

WxWidgets och Magick++ v/s Qt : Min erfarenhet av Photopal

Photopal är namnet på en enkel skrivbordsapplikation som jag arbetade med. Användarna kan helt enkelt dra och släppa bilden och den konverteras till önskad upplösning av användaren (standard 72dpi). Släpp ett stort antal bilder eller mappar och den konverterar dem effektivt.

Jag skapade den här applikationen med hjälp av två populära bibliotek – wxWidgets och Qt. Jag kommer att förklara dem båda först om någon vill använda dem och sedan kommer jag att jämföra dem båda.

Hur man använder WxWidgets i Windows?

Ladda ner wxWidgets-källkoden från https://www.wxwidgets.org/downloads/ . Ta upp filen som du laddat ner.

Nu under wxWidgets-mappen navigerar du till /build/msw .
Du kommer att hitta olika visual studio projektnamn som wx_vc följt av visual studio version, t.ex. för visual studio 13 är det wx_vc12 .
Öppna det i Visual Studio och kompilera det med den konfiguration du vill ha för t.ex. release i x64 .

De motsvarande filerna kommer att skapas i mappen wxWidgets under mappen include respektive lib. De nödvändiga filerna för wxWidgets genereras.

För att inkludera den i ditt projekt öppnar du projektets egenskaper.
Under C/C++-egenskaper – fliken Allmänt anger du sökvägen till mapparna (wxWidgets)/include och (wxWidgets)/include/msvc i Additional Include Directories.

Under C/C++ properties – Preprocessor – Preprocessor Definitions , lägg till WIN32 , WXUSINGDLL , _WXMSW , wxMSVC_VERSION_AUTO , _UNICODE och UNICODE.

Under Linker – General – Link Library Dependencies , lägg till sökvägen till din lib/vc-mapp som innehåller dina dll-filer, till exempel.t.ex. vc120_x64_dll.
Under Linker – Input – Additional Dependencies lägg till de lib-filer du behöver t.ex. wxmsw31u_core.lib , wxmsw31u_gl.lib och wxbase31u.lib.
WxWidgets är helt inställt nu.

Hur använder man Magick++ i Windows?

Ladda ner Magick++ källkod https://www.imagemagick.org/script/download.php och packa upp den.

För att skapa en arbetsyta för dina behov går du helt enkelt till mappen
VisualMagick\configure och öppnar arbetsytan configure.dsw (för
Visual Studio 6) eller configure.sln (för Visual Studio 7 eller 8).
Sätt byggkonfigurationen till Release eller Debug. Bygg och kör configure-programmet och följ instruktionerna på skärmen.

När byggningen lyckats finns alla nödvändiga filer som behövs för att köra
något av kommandoradsverktygen i mappen VisualMagick\bin. Detta inkluderar EXE, DLL-bibliotek och ImageMagick-konfigurationsfiler.
För att köra det i ditt projekt definierar du helt enkelt referensen till headerfilerna (include-katalogen) och lib-filerna (lib-katalogen ) i Visual Studio.
Alltså lägg till CORE_RL_Magick++_.lib och CORE_RL_MagickCore_.lib till ytterligare beroenden under Linker – Input .Kopiera också xml-filerna till den körbara platsen.

Nu kommer den knepiga delen , imagemagick körs bara på system där det redan är installerat. För att övervinna denna svårighet , ladda helt enkelt ner exe-filen för imagemagick. Gå till Program files/ imagemagick och kopiera dll-filerna i mappen coders. Nu är imagemagick redo att köras.

Hur använder man WxWidgets i Ubuntu ?

Öppna terminalen och skriv
deb http://apt.wxwidgets.org/ natty-wx main
deb-src http://apt.wxwidgets.org/ natty-wx main

För att lägga till digital signatur skriver du :
curl http://apt.wxwidgets.org/key.asc | sudo apt-key add –

Kör följande kommandon i terminalen:
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 wx

Lägg till `wx-config – cxxflags` `wx-config -libs` och nödvändiga wxWidgets-bibliotek till g++-kommandot när du kompilerar WxWidgets-projektet.

Hur använder man Magick++ i Ubuntu?

Öppna terminalen och bygg väsentligheter för Magick++ som:
sudo apt-get install build-essential checkinstall && apt-get build-dep imagemagick -y

Nu hämtar du ImageMagick genom att skriva:
sudo wget http://www.imagemagick.org/download/ImageMagick.tar.gz

Unzipar tar:
sudo tar xzvf ImageMagick.tar.gz

Kör följande kommandon i terminalen :
cd ImageMagick-7.0.4-5
./configure
make clean
make
checkinstall
ldconfig /usr/local/lib
ImageMagick är redo att köras på ditt system.

Ansats 2 – Qt :

Hur man använder Qt?

Ladda ner Qt från den officiella webbplatsen med hjälp av online- eller offlineinstallationsprogrammet – https://www.qt.io/download-open-source/

Efter installationen öppnar du Qt creator.Skapa ett Qt-projekt och kör det i release- eller felsökningsläge.

Bygg en distribuerbar Qt :
Gå till C:\Qt\(version)\(kompilator)\bin . t.ex. C:\Qt\5.9.1\msvc2013_64\bin
Öppna terminalen här och kör :
windeployqt (platsen för din binära fil) .
Din distribuerbara körbara fil tillsammans med den dll som krävs skapas automatiskt.

Genomförande av WxWidget och Magick++ vs Qt :

WxWidgets är bara ett gui-bibliotek och behövde Magick++ för bildbehandling medan Qt i sig självt var ett fullfjädrad bibliotek och innehåller olika verktyg, varav ett var bildbehandling. Man kan lätt märka att det är mindre komplicerat att använda Qt än WxWidgets . Till och med koden för Qt är enkel att skriva och förstå.

Men med enkelhet följer en ökad abstraktionsnivå. Qt är mycket mer abstrakt än WxWidgets, vilket märktes tydligt när jag arbetade med pthread i wxWidgets och Qt:s egen tråd QThread. Det beror alltså på ditt användningsområde om du vill arbeta med Qt eller WxWidgets. I mitt speciella fall var dock Qt ett bättre val.

Om du stöter på några svårigheter med att implementera något av dessa bibliotek så hjälper jag dig gärna.