- GIMP 2.6.1 Python Console
- Python 2.5.2 (r252:60911, Oct 5 2008, 19:24:49)
- [GCC 4.3.2]
- >>> img = gimp.image_list()[0];
- >>> print img
- <gimp.Image 'Untitled'>
- >>> print img.vectors
- []
- >>> print img.vectors
- [<gimp.Vectors 'path1'>, <gimp.Vectors 'Unnamed'>]
- >>> dir(img.vectors)
- ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__str__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
- >>> print img.vectors[0]
- <gimp.Vectors 'path1'>
- >>> print img.vectors[0].strokes
- [<gimp.VectorsBezierStroke 1 of gimp.Vectors 'path1'>]
- >>> dir(img.vectors[0].strokes[0])
- ['ID', '__class__', '__cmp__', '__delattr__', '__doc__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__str__', 'close', 'conicto', 'cubicto', 'flip', 'flip_free', 'get_length', 'get_point_at_dist', 'interpolate', 'lineto', 'new_ellipse', 'new_moveto', 'points', 'rotate', 'scale', 'translate', 'vectors_ID']
- >>> print img.vectors[0].strokes[0].points
- ([293.29108458216916, 368.30403860807724, 291.6248412496825, 368.30403860807724, 289.95859791719585, 368.30403860807724, 141.66294132588266, 291.86004572009142, 141.66294132588266, 291.86004572009142, 141.66294132588266, 291.86004572009142], False)
- >>> startx = img.vectors[0].strokes[0].points[0]
- >>> print startx
- [293.29108458216916, 368.30403860807724, 291.6248412496825, 368.30403860807724, 289.95859791719585, 368.30403860807724, 141.66294132588266, 291.86004572009142, 141.66294132588266, 291.86004572009142, 141.66294132588266, 291.86004572009142]
- >>> startx = img.vectors[0].strokes[0].points[1]
- >>> print startx
- False
- >>> startx = img.vectors[0].strokes[0].points[0][0]
- >>> print startx
- 293.291084582
- >>> starty = img.vectors[0].strokes[0].points[0][1]
- >>> print starty
- 368.304038608
- >>> desty = img.vectors[0].strokes[0].points.pop()
- Traceback (most recent call last):
- File "<input>", line 1, in <module>
- AttributeError: 'tuple' object has no attribute 'pop'
- >>> desty = img.vectors[0].strokes[0].points[0].pop()
- >>> print desty
- 291.86004572
- >>> destx = img.vectors[0].strokes[0].points[0].pop()
- >>> print destx
- 291.86004572
- >>> destx = img.vectors[0].strokes[0].points[0].pop(-1)
- >>> print destx
- 291.86004572
- >>> print img.vectors[0].strokes[0].points
- ([293.29108458216916, 368.30403860807724, 291.6248412496825, 368.30403860807724, 289.95859791719585, 368.30403860807724, 141.66294132588266, 291.86004572009142, 141.66294132588266, 291.86004572009142, 141.66294132588266, 291.86004572009142], False)
- >>> destx = img.vectors[0].strokes[0].points[0].pop(1)
- >>> print destx
- 368.304038608
- >>> destx = img.vectors[0].strokes[0].points[0].pop(-2)
- >>> print destx
- 141.662941326
- >>> origin1 = ((img.layers[0].width/2), img.layers[0].height/2)
- >>> print origin1
- (320, 200)
- >>> origin = ((img.width/2), (img.height/2))
- >>> print origin
- (320, 200)
- >>> sideA = origin[0] - destx
- >>> print sideA
- 178.337058674
- >>> import math
- >>> sideA = math.sqrt(((origin[0]-destx)**2)+(origin[1]-desty)**2)
- >>> print sideA
- 200.605021114
- >>> sideB = math.sqrt(((origin[0]-startx)**2)+(origin[1]-starty)**2)
- >>> print sideB
- 170.410139295
- >>> sideB = math.sqrt((sideA**2)+(sideB**2))
- >>> sideB = math.sqrt(((origin[0]-startx)**2)+(origin[1]-starty)**2)
- >>> sideC = math.sqrt((sideA**2)+(sideB**2))
- >>> angleC = math.acos((sideA**2 + sideB**2 - sideA**2)/(2*sideA*sideB)
- ...
- ...
- ... )
- >>> print angleC
- 1.1321211413
- >>> print math.degrees(angleC)
- 64.8657632943
- >>> help(img.layers[1].transform_rotate)
- Help on built-in function transform_rotate:
- transform_rotate(...)
- >>> img.layers[1].transform_rotate(math.degrees(angleC), 0, origin[0], origin[1], 1, 0)
- <gimp.Layer 'Background'>
- >>> img.layers[1].transform_rotate(math.degrees(angleC), 0, origin[0], origin[1], 1, 0)
- <gimp.Layer 'Background'>
- >>> print img.layers
- [<gimp.Layer 'New Layer'>, <gimp.Layer 'Background'>]
- >>> img.layers[0].transform_rotate(math.degrees(angleC), 0, origin[0], origin[1], 1, 0)
- <gimp.Layer 'New Layer'>
- >>> img.layers[0].transform_rotate(math.degrees(angleC), 0, origin[0], origin[1], 1, 1)
- <gimp.Layer 'New Layer'>
- >>> img.layers[0].transform_rotate(math.degrees(angleC), 1, origin[0], origin[1], 1, 1)
- <gimp.Layer 'New Layer'>
- >>> img.layers[0].transform_rotate_default(math.degrees(angleC), 1, origin[0], origin[1], 1, 1)
- <gimp.Layer 'New Layer'>
- >>> img.layers[0].transform_rotate_default(math.degrees(angleC), 0, origin[0], origin[1], 1, 0)
- <gimp.Layer 'New Layer'>
- >>> pdb.gimp_rotate(img.layers[0], FALSE, math.degrees(angleC))
- /usr/lib/gimp/2.0/plug-ins/python-console.py:1: DeprecationWarning: gimpenums.FALSE is deprecated, use False instead
- #!/usr/bin/env python
- <gimp.Layer 'New Layer'>
- >>> pdb.gimp_rotate(img.layers[0], FALSE, math.degrees(angleC))
- <gimp.Layer 'New Layer'>
- >>>
