How to add a new stretch tool?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I desperately want a tool that can stretch a selection or layer in a curvy sort of way on the main window, because I frequently want to place images inside of other images in such a way that the scale/rotate/perspective tools are not sufficient, nor are the curve bend or image warp plugins. Speaking of the rotate/etc tools, when shifting around, the thing is shifted as an opaque thing, rather than with its actual transparency, which is very irritating (i've only used the Gimp up to 2.2.11, maybe its different later?).

So then, what is the easiest way to add a kind of transform tool that stretches the current selection based on a cubic tensor product patch? I read a post somewhere in the archives that said it was mostly "easy" to add new tools. So what does "easy" entail? I've only spent an hour or two less'ing the gimp source, so I'm still not too sure yet what's what. Is there any one else remotely working on such a thing?

I have already implemented something of the kind in a (somewhat rough and unpolished) program called Laidout that involves subdivideable patches, of which you can see screenshots here:
http://www.laidout.org/shots/screenshots.html

I envision a dialog something along the lines of this mock up:
http://www.laidout.org/temp.png

My actual rendering routine is currently a major hack to get it off the ground, and is totally inefficient. It really needs coding from someone who actually knows something about rasterizing cubic tensor product patches.


Tom
http://www.laidout.org
http://www.tomlechner.com


_______________________________________________
Gimp-developer mailing list
Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer


[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux