How to read image orientation in Qt (Using stored EXIF)

Updated: QImageReader class in Qt has a new method (introduced in Qt 5.5) named transformation() which you can use for this purpose but this article still applies if you are not using 5.5 or having problems with QImageRaader. Also it is a useful example on how to use GDI in Qt.

You might have also noticed that Qt reads jpg, tif and other types of images that it supports without paying any attention to EXIF information stored in them. EXIF meta data contains highly valuable information about the characteristics of a photograph. Let’s say you want to read an image file into QImage and do some process over it. It is crucial to know what type of orientation the image needs to go through right after reading it.

Continue reading “How to read image orientation in Qt (Using stored EXIF)”

How to get position and size of another program’s window in Qt?

You can use Windows API functions to read the position (left and top, or  x and y) of a window that does not belong to your program in Qt. GetWindowRect function allows you to read these values and also right and bottom which can then be used to extract width and height of that window. Note that you need to know the title of your target window or else it is not possible to achieve that. Follow th simple steps below to be able to do this.

Continue reading “How to get position and size of another program’s window in Qt?”

How to Open Android Image Gallery in Qt

This article describes how to open default Android Gallery in Qt using a mixture of Android’ Java and Qt (C++) code. It is specially useful if you are working with images, for example if you want to open a Mat Image in OpenCV using imread function or if you are just writing some kind of image viewer program. Unfortunately Qt does not offer this (yet) by default so I thought I could share it with you.

Continue reading “How to Open Android Image Gallery in Qt”

How To Mix C++ And Java Code (In Qt For Android)

Qt allows you to use Java code in your Android applications. This is the same code that Android Studio (or Eclipse etc.) users use when they are writing applications for Android. In Qt, by default, you are limited to C++ code and what the Qt modules have to offer (which in most cases are enough) but there are certain situations where you need to use something from Android API which is not provided in Qt. An obvious example for this can be using the default Android Galley to open a picture, or using Text-To-Speech engine or any other API that you can think of. If you don’t want to be limited to what is provided by Qt while writing Android apps then follow the steps below to be able to add Java code to your Qt project.

Continue reading “How To Mix C++ And Java Code (In Qt For Android)”

How to build OpenCV from source for VC14

OpenCV 2.4.11 users may have noticed that it does not provide pre-built binaries (Libs and DLLs) for VC14 (Visual Studio 2015) Unfortunately it is also the case with Qt 5.5.1 (At least it’s true at the time of writing this article) so if you are going to use either one of them you have to build it yourself.

I was also faced with this obstacle so I decided to write a guide for anyone who wishes to built OpenCV for VC14.To do that, just follow the steps below:

Continue reading “How to build OpenCV from source for VC14”