On Tue, 2008-03-11 at 21:56 +0100, Sven Neumann wrote:
> On Mon, 2008-03-10 at 18:22 -0500, Leonard Evens wrote:
> > I don't see a way to specify the matrix used to perform a desired
> > perspective transformation manually. Of course, I can adjust it by
> > dragging handles, but it would be much easier for me to calculate what I
> > need and then enter the elements of the matrix by hand.
> There's a PDB procedure that allows you to specify the corners of the
> perspective transformation, but it doesn't allow you to give the matrix
> directly. It wouldn't be difficult to add this functionality to the
> Procedural Database. We would certainly consider a patch to do this.
I'm not familiar with gimp code, so I don't understand what this means,
but I think I can probably figure it out. I will give it a try. In any case,
it would be even better for my purposes if I could specify where the corners
of the handles go and let gimp calculate the matrix for me and apply it.
By the way, I don't really understand what the purpose of showing the
matrix is if you can't change it directly. Its meaning is far
from transparent to a naive user, and even someone who is sophisticated
about the math, like me, would have to do some calculations to figure
out what the transformation will do given the matrix. It would be
more useful to know where the corners of the handles will go under
the transformation. But in the present situation, it is all I have, so
I don't propose removing it.
> If you want to give it a try, please have a look at the code in
> tools/pdbgen/pdb/drawable_transform.pdb. From this source the wrapper
> code for the procedure is generated into
> app/pdb/drawable_transform_cmds.c. As you can see in
> drawable_transform.pdb, all you need to do is to initialize the
> transformation matrix with values taken from the procedure call.
Gimp-user mailing list