Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Hello, Qt support basic image formats such as jpg, gif, png, ...
I need to support more image formats in my application.
Here is the site I found how to do it.
But I need to build my application statically and as far as I know if I build statically, I cannot use plugin.
Then how can I support more image formats if I compile statically?
LuGRU last edited by
By that logic static version of Qt won't support jpeg / gif etc.
Yes it's possible and supported, please do see doc: http://doc.qt.io/qt-5/plugins-howto.html#static-plugins
@samdol Also make sure you're aware of the licensing issues if you build statically. If you are not using the commercial license distributing a static binary would put you in violation of the license agreement and could get you in some serious financial trouble. ;)
Second, it is probably impossible to build a static version of Qt Creator because of the lack of support for plugins in a static environment.
Does it mean that I cannot use plugin to support various image format?
No it means that Creator, the Qt IDE / Editor cannot be build as a static
Qt application as it really needs to use dynamic loading.
You can however create a new Image Plugin and static link with your application.
But you cannot mix statically compiled Qt App and then use plugins dynamically.
So you cannot have static Qt app and dynamic loading plugins.
Meaning your STATIC linked App cannot at runtime load extra plugins.
BUt you are free to link new ones in and that way support new formats.
Can I ask what image format you want to add?
Also if dynamic loading is important, why use static linking ?
LuGRU last edited by LuGRU
I think You did read this out of context, see:
There are at least two reasons for not building static versions of the GUI tools. First, releasing a new version of an application is typically a task that you automate using a script and there is no need for GUI tools at this stage. Second, it is probably impossible to build a static version of Qt Creator because of the lack of support for plugins in a static environment.
This paragraph talks about QtCreator and it's plugins. QtCreator uses multiple "plugins", see QtCreator -> About Plugins page and I do suspect that this do refer to some of them (Device support ???).
As I said before QImageIOPlugin do support static linkage. Case in point iOS. Deploying Qt app on iOS is statically linked and it do support images.
PS. @mrjj replied while I was typing.
Thank you mrjj and LuGRU,
It seems the static liking to Plugin is the way to go. Dynamic loading is not important.
For now, I would like to support RAF CRW image formats.
And enventually I need to support pcx, pnm, psd, rgb, eps and NEF formats.
Do I have to use plugin to show raw format image file?
Hi do you mean a raw image format like in cameras or just raw as in no header etc?
samdol last edited by samdol
This post is deleted!
I mean the image format like in cameras, such as CRW, NEF,...
Nope, never saw such plugin. For some camera vendors you have to use the SDK to read it.
Alternatively, you can use a lib
and use to convert to format that you can
load or embed into Qt app so it can load native.
Thank you for the link.
Is the libraw OK to be used on commercial project?
Do I have to buy the license to use in commercial project?
mchinand last edited by
See the licensing options for libraw here. If you adhere to the terms of one of these licenses you can probably use it in a commercial project.
From the link, it seems we need to know
width, height ,QImage::Format about the raw image file before read it.
Could we know those information before read it?
Could we know those information before read it?
Not really. That is why raw means many things.
One can guess about it if knowing color format/depth and the filesize but
ultimately it could be anything.
For Cameras the raw format means uncompressed. Each vendor might save raw differently and hence
its not easy to "just" read raw files.
when tried the code in the link with some raw files (NiKON NEF, ..) I could only see unrecognizable dots on the screen. Is it because I did not put the right w, h and format?
Yes if you specify wrong parameters for the format it will look distorted.
I saw some image Viewer shows raw image file. I wonder how it could read raw image. Because in order to read it correctly, we need to know the w, h, format in advance and there is no way to know w,h, format.
Well most of the viewers use a library and hence knows vendor raw format and can guess
at format otherwise. Many raw formats do have a header to give more info.
So for camera raw means uncompressed and non filtered and not so much raw block of image data as it
means in other contexts.