Image distortion, how to?
-
Hi all
What could be the best way using Qt classes for distort an image in the following mode?
!http://3.bp.blogspot.com/-i_EeoQluuU8/T7FsWDsbKfI/AAAAAAAAB7U/f1pQjXHwYps/s600/geometric+distortion+pincushion+barrel.png(Image distortion)!
Thank you
-
Qt OpenGL classes are standard Qt classes too ;). More seriously, there is "this example":http://qt-project.org/doc/qt-5.1/qtwidgets/painting-deform.html which is using QPainterPath to achieve something similar with text, but I never used it so I'm not sure it will really be what you want.
-
Well, in my understanding (that can be wrong) Qt act like a wrapper over OpenGL libraries that already have to be "supported" by the system. In my case I would to hav a code "system independent" if possible obviously (what happen if the code run in a very old system where OpenGL are not supported?). About the example you pointed I had already checked it but, basically, it make a pixet to pixel operation to create len effect. In my original question on the contrary, I would to know if Qt already provide some feature to obtain such image distortion in an easy way. If not possible I need to develop my own alghoritm (or looking for a ready made). Is just for avoid to reinvent the wheel. ;)
-
OpenGL implements shaders since version 2.0, so an old system where it is not supported should be very very old. But if you care about that, you're right, you should use QPainter functionalities but, unfortunately, AFAIK there is no easy way. Wheel isn't invented yet, you can do it ;).