本文整理汇总了Python中defcon.Glyph.drawPoints方法的典型用法代码示例。如果您正苦于以下问题:Python Glyph.drawPoints方法的具体用法?Python Glyph.drawPoints怎么用?Python Glyph.drawPoints使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类defcon.Glyph
的用法示例。
在下文中一共展示了Glyph.drawPoints方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: glyph_to_quadratic
# 需要导入模块: from defcon import Glyph [as 别名]
# 或者: from defcon.Glyph import drawPoints [as 别名]
def glyph_to_quadratic(glyph, max_n, max_err, correctDirection=True,
verbose=False):
""" Convert the glyph outline to TrueType quadratic splines. """
new = Glyph()
writerPen = new.getPointPen()
cu2quPen = Cu2QuPen(writerPen, max_n, max_err, verbose)
if correctDirection:
reversePen = ReverseContourPointPen(cu2quPen)
glyph.drawPoints(reversePen)
else:
glyph.drawPoints(cu2quPen)
# clear glyph but keep anchors for mark, mkmk features
glyph.clearContours()
glyph.clearComponents()
writerPen = glyph.getPointPen()
new.drawPoints(writerPen)
示例2: OutlinePen
# 需要导入模块: from defcon import Glyph [as 别名]
# 或者: from defcon.Glyph import drawPoints [as 别名]
#.........这里部分代码省略.........
def connectionInnerCorner(self, first, last, pen, close):
if not close:
pen.lineTo(last)
## caps
def buildCap(self, firstContour, lastContour):
first = firstContour[-1]
last = lastContour[0]
first = self.pointClass(first.x, first.y)
last = self.pointClass(last.x, last.y)
self.capCallback(firstContour, lastContour, first, last, self.prevAngle)
first = lastContour[-1]
last = firstContour[0]
first = self.pointClass(first.x, first.y)
last = self.pointClass(last.x, last.y)
angle = radians(degrees(self.firstAngle)+180)
self.capCallback(lastContour, firstContour, first, last, angle)
def capButt(self, firstContour, lastContour, first, last, angle):
## not nothing
pass
def capRound(self, firstContour, lastContour, first, last, angle):
hookedAngle = radians(degrees(angle)+90)
p1 = first - self.pointClass(cos(hookedAngle), sin(hookedAngle)) * self.offset
p2 = last - self.pointClass(cos(hookedAngle), sin(hookedAngle)) * self.offset
oncurve = p1 + (p2-p1)*.5
roundness = .54
h1 = first - self.pointClass(cos(hookedAngle), sin(hookedAngle)) * self.offset * roundness
h2 = oncurve + self.pointClass(cos(angle), sin(angle)) * self.offset * roundness
firstContour[-1].smooth = True
firstContour.addPoint((h1.x, h1.y))
firstContour.addPoint((h2.x, h2.y))
firstContour.addPoint((oncurve.x, oncurve.y), smooth=True, segmentType="curve")
h1 = oncurve - self.pointClass(cos(angle), sin(angle)) * self.offset * roundness
h2 = last - self.pointClass(cos(hookedAngle), sin(hookedAngle)) * self.offset * roundness
firstContour.addPoint((h1.x, h1.y))
firstContour.addPoint((h2.x, h2.y))
lastContour[0].segmentType = "curve"
lastContour[0].smooth = True
def capSquare(self, firstContour, lastContour, first, last, angle):
angle = radians(degrees(angle)+90)
firstContour[-1].smooth = True
lastContour[0].smooth = True
p1 = first - self.pointClass(cos(angle), sin(angle)) * self.offset
firstContour.addPoint((p1.x, p1.y), smooth=False, segmentType="line")
p2 = last - self.pointClass(cos(angle), sin(angle)) * self.offset
firstContour.addPoint((p2.x, p2.y), smooth=False, segmentType="line")
def drawSettings(self, drawOriginal=False, drawInner=False, drawOuter=True):
self.drawOriginal = drawOriginal
self.drawInner = drawInner
self.drawOuter = drawOuter
def drawPoints(self, pointPen):
if self.drawInner:
reversePen = ReverseContourPointPen(pointPen)
self.innerGlyph.drawPoints(CleanPointPen(reversePen))
if self.drawOuter:
self.outerGlyph.drawPoints(CleanPointPen(pointPen))
if self.drawOriginal:
if self.drawOuter:
pointPen = ReverseContourPointPen(pointPen)
self.originalGlyph.drawPoints(CleanPointPen(pointPen))
for glyphName, transform in self.components:
pointPen.addComponent(glyphName, transform)
def draw(self, pen):
pointPen = PointToSegmentPen(pen)
self.drawPoints(pointPen)
def getGlyph(self):
glyph = Glyph()
pointPen = glyph.getPointPen()
self.drawPoints(pointPen)
return glyph