当前位置: 首页>>代码示例>>Python>>正文


Python Texture.Texture类代码示例

本文整理汇总了Python中Texture.Texture的典型用法代码示例。如果您正苦于以下问题:Python Texture类的具体用法?Python Texture怎么用?Python Texture使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Texture类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: __init__

  def __init__(self, context, ImgData):
    self.ImgData = None
    self.texture = None
    self.context = context
    self.cache = None
    self.filename = ImgData

    # Detect the type of data passed in
    if type(ImgData) == file:
      self.ImgData = ImgData.read()
    elif type(ImgData) == str:
      self.texture = Texture(ImgData)
    elif isinstance(ImgData, Image.Image): #stump: let a PIL image be passed in
      self.texture = Texture()
      self.texture.loadImage(ImgData)

    # Make sure we have a valid texture
    if not self.texture:
      if type(ImgData) == str:
        e = "Unable to load texture for %s." % ImgData
      else:
        e = "Unable to load texture for SVG file."
      Log.error(e)
      raise RuntimeError(e)

    self.pixelSize = self.texture.pixelSize
    self.position = [0.0,0.0]
    self.scale    = [1.0,1.0]
    self.angle    = 0
    self.color    = (1.0,1.0,1.0)
    self.rect     = (0,1,0,1)
    self.shift    = -.5

    self.createArrays()
开发者ID:cherbib,项目名称:fofix,代码行数:34,代码来源:Svg.py

示例2: __init__

  def __init__(self, context, svgData):
    self.svgData = None
    self.texture = None
    self.context = context
    self.cache = None
    self.transform = SvgTransform()

    # Detect the type of data passed in
    if type(svgData) == file:
      self.svgData = svgData.read()
    elif type(svgData) == str:
      bitmapFile = svgData.replace(".svg", ".png")
      # Load PNG files directly
      if svgData.endswith(".png"):
        self.texture = Texture(svgData)
      # Check whether we have a prerendered bitmap version of the SVG file
      elif svgData.endswith(".svg") and os.path.exists(bitmapFile):
        Log.debug("Loading cached bitmap '%s' instead of '%s'." % (bitmapFile, svgData))
        self.texture = Texture(bitmapFile)
      else:
        if not haveAmanith:
          e = "PyAmanith support is deprecated and you are trying to load an SVG file."
          Log.error(e)
          raise RuntimeError(e)
        Log.debug("Loading SVG file '%s'." % (svgData))
        self.svgData = open(svgData).read()

    # Make sure we have a valid texture
    if not self.texture:
      if type(svgData) == str:
        e = "Unable to load texture for %s." % svgData
      else:
        e = "Unable to load texture for SVG file."
      Log.error(e)
      raise RuntimeError(e)
开发者ID:fretsonfire,项目名称:fof-python,代码行数:35,代码来源:Svg.py

示例3: __init__

    def __init__(self, filename=None, fontsize=None, charset=DEFAULT_CHARSET):
        assert type(fontsize)==int
        
        if filename==None:
            filename=DEFAULT_FONT[0]
        if fontsize==None:
            fontsize=DEFAULT_FONT[1]

        # lets create the image for the texture from the font
        self._font=lib.Font(filename, fontsize)
        self._font.RenderSet(charset=charset)		# make the glyph size details for each character
        image,extents=self._font.Render()

        #image=tools.fromSDLImageToPILImage(image)
        #print "IMAGE",image
        image.save("temp.png")

        self.extents=extents

        # call constructor
        Texture.__init__(self,image=image,filename=filename)

        # create the alpha numeric tex list
        self.charset=charset
        self._metrics=self._font.metrics

        # in a font, the tex's store is a hash rather than a list (not frames)
        self.texchars=dict([ (ch,Tex(self,*extents[ch])) for ch in charset])
        self.texframes=[Tex(self,0.0,0.0,1.0,1.0)]
开发者ID:retrogradeorbit,项目名称:Pigo,代码行数:29,代码来源:Font.py

示例4: __init__

  def __init__(self, context, ImgData):
    self.ImgData = None
    self.texture = None
    self.context = context
    self.cache = None
    self.transform = SvgTransform()
    self.filename = ImgData
    self.triangVtx = np.zeros((4,2), dtype=float32)
    self.textriangVtx = np.zeros((4,2), dtype=float32)

    # Detect the type of data passed in
    if type(ImgData) == file:
      self.ImgData = ImgData.read()
    elif type(ImgData) == str:
      self.texture = Texture(ImgData)
#      bitmapFile = ImgData.replace(".svg", ".png")
#      # Load PNG files directly
#      if ImgData.endswith(".png"):
#        self.texture = Texture(ImgData)
#      elif ImgData.endswith(".jpg"):
#        self.texture = Texture(ImgData)
#      elif ImgData.endswith(".jpeg"):
#        self.texture = Texture(ImgData)
      # Check whether we have a prerendered bitmap version of the SVG file
#      elif ImgData.endswith(".svg") and os.path.exists(bitmapFile):
#        Log.debug("Loading cached bitmap '%s' instead of '%s'." % (bitmapFile, ImgData))
#        self.texture = Texture(bitmapFile)
#      else:
#        if not haveAmanith:
#          e = "PyAmanith support is deprecated and you are trying to load an SVG file."
#          Log.error(e)
#          raise RuntimeError(e)
#        Log.debug("Loading SVG file '%s'." % (ImgData))
#        self.ImgData = open(ImgData).read()
    elif isinstance(ImgData, Image.Image): #stump: let a PIL image be passed in
      self.texture = Texture()
      self.texture.loadImage(ImgData)

    # Make sure we have a valid texture
    if not self.texture:
      if type(ImgData) == str:
        e = "Unable to load texture for %s." % ImgData
      else:
        e = "Unable to load texture for SVG file."
      Log.error(e)
      raise RuntimeError(e)
开发者ID:Gamer125,项目名称:fofix,代码行数:46,代码来源:Svg.py

示例5: loadTexture

 def loadTexture(self, name, target, param = Texture.Parameters(), settings = Texture.Settings()):
     if name in self.textures:
         return self.textures[name]
     if name not in self.images:
         return None
     image = self.images[name]
     self.textures[name] = texture = Texture.create(name, image.data, image.width, image.height,
                                                    target, image.textureFormat, param, settings)
     return texture
开发者ID:rosedu,项目名称:hfall,代码行数:9,代码来源:TextureManager.py

示例6: testRenderToTexture

    def testRenderToTexture(self):
        scale = 4
        fullwidth, fullheight = 512, 512
        width, height = int(fullwidth / scale), int(fullheight / scale)
        t = Texture()
        self.e.svg.setProjection((0, 0, fullwidth, fullheight))

        glViewport(0, 0, width, height)
        glClear(GL_COLOR_BUFFER_BIT | GL_STENCIL_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
        self.svg.transform.translate(width * scale / 2, height * scale / 2)
        self.svg.transform.rotate(3.141592)
        self.svg.draw()

        glViewport(0, 0, fullwidth, fullheight)
        glMatrixMode(GL_PROJECTION)
        glLoadIdentity()
        gluOrtho2D(0.0, 1.0, 0.0, 1.0)
        glMatrixMode(GL_MODELVIEW)
        glLoadIdentity()

        t.bind()
        glEnable(GL_TEXTURE_2D)
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR)

        glClear(GL_COLOR_BUFFER_BIT)
        glColor3f(1.0, 1.0, 1.0)
        glBegin(GL_TRIANGLE_STRIP)
        glTexCoord2f(0.0, 0.0)
        glVertex2f(0.0, 0.0)
        glTexCoord2f(1.0, 0.0)
        glVertex2f(1.0, 0.0)
        glTexCoord2f(0.0, 1.0)
        glVertex2f(0.0, 1.0)
        glTexCoord2f(1.0, 1.0)
        glVertex2f(1.0, 1.0)
        glEnd()

        self.e.video.flip()
        import time
        time.sleep(2)
开发者ID:ME7ROPOLIS,项目名称:fofix,代码行数:40,代码来源:SvgTest.py

示例7: __init__

    def __init__(self, context, ImgData):
        self.ImgData = None
        self.texture = None
        self.context = context
        self.cache = None
        self.filename = ImgData

        # Detect the type of data passed in
        if isinstance(ImgData, file):
            self.ImgData = ImgData.read()
        elif isinstance(ImgData, basestring):
            self.texture = Texture(ImgData)
        elif isinstance(ImgData, Image.Image): #stump: let a PIL image be passed in
            self.texture = Texture()
            self.texture.loadImage(ImgData)

        # Make sure we have a valid texture
        if not self.texture:
            if isinstance(ImgData, basestring):
                e = "Unable to load texture for %s." % ImgData
            else:
                e = "Unable to load texture for SVG file."
            Log.error(e)
            raise RuntimeError(e)

        self.pixelSize = self.texture.pixelSize #the size of the image in pixels (from texture)
        self.position = [0.0,0.0]               #position of the image in the viewport
        self.scale    = [1.0,1.0]               #percentage scaling
        self.angle    = 0                       #angle of rotation (degrees)
        self.color    = (1.0,1.0,1.0,1.0)       #glColor rgba
        self.rect     = (0,1,0,1)               #texture mapping coordinates
        self.shift    = -.5                     #horizontal alignment
        self.vshift   = -.5                     #vertical alignment

        self.path = self.texture.name           #path of the image file

        self.texArray = np.zeros((4,2), dtype=np.float32)

        self.createTex()
开发者ID:Richardgriff,项目名称:fofix,代码行数:39,代码来源:Svg.py

示例8: __init__

    def __init__(self, path, text="", size=32, shadow=True):
        self.font = pygame.font.Font(os.path.join("..", "data", "fonts", path), int(size))
        self.texture = Texture()

        self.cache = Cache()
        # attributes
        self.scale = (1.0, 1.0)  # image bounds (width, height)
        self.position = (0, 0)  # where in the window it should render
        self.angle = 0  # angle which the image is drawn
        self.color = (255, 255, 255, 255)  # colour of the image
        self.rect = (0.0, 0.0, 1.0, 1.0)  # left, top, right, bottom, crops the texture
        self.alignment = 1  # alignment of the text (left, center , right)
        self.shadow = True  # does the font project a shadow
        self.text = None

        self.setText(text)  # it is not necessary to enter a string upon initialization,
开发者ID:nhydock,项目名称:UlDunAd,代码行数:16,代码来源:FontObj.py

示例9: cacheGlyph

  def cacheGlyph(self, ch):
    """
    Add character and size to glyph caches

    @param ch: Character
    @return:   Glyph instance
    """
    # Font size
    self.glyphSizeCache[ch] = self.font.size(ch)
    # Font texture
    s = self.font.render(ch, True, (255, 255, 255))
    t = Texture()
    t.setFilter(GL_LINEAR, GL_LINEAR)
    t.setRepeat(GL_CLAMP, GL_CLAMP)
    t.loadSurface(s, alphaChannel = True)
    del s
    self.glyphCache[ch] = t
    return t
开发者ID:Gamer125,项目名称:fofix,代码行数:18,代码来源:Font.py

示例10: __init__

    def __init__(self, context, imgPath):
        self.imgPath = None
        self.texture = None
        self.context = context
        self.cache = None
        self.transform = ImgTransform()

        # Load PNG files directly
        if imgPath.endswith(".png"):
            self.texture = Texture(imgPath)
        else:
            e = "Unsupported Image format."
            Log.error(e)
            raise RuntimeError(e)

        # Make sure we have a valid texture
        if not self.texture:
            e = "Unable to load texture for %s." % imgPath
            Log.error(e)
            raise RuntimeError(e)
开发者ID:Hawkheart,项目名称:fof-reborn,代码行数:20,代码来源:Img.py

示例11: getGlyph

  def getGlyph(self, ch):
    """
    Get the L{Texture} for a given character.

    @param ch:    Character
    @return:      L{Texture} instance
    """
    try:
      return self.glyphCache[ch]
    except KeyError:
      s = self.font.render(ch, True, (255, 255, 255))

      """
      # Draw outlines
      import Image, ImageFilter
      srcImg = Image.fromstring("RGBA", s.get_size(), pygame.image.tostring(s, "RGBA"))
      img    = Image.fromstring("RGBA", s.get_size(), pygame.image.tostring(s, "RGBA"))
      for y in xrange(img.size[1]):
        for x in xrange(img.size[0]):
          a = 0
          ns = 3
          n = 0
          for ny in range(max(0, y - ns), min(img.size[1], y + ns)):
            for nx in range(max(0, x - ns), min(img.size[0], x + ns)):
              a += srcImg.getpixel((nx, ny))[3]
              n += 1
          if a and srcImg.getpixel((x, y))[3] == 0:
            img.putpixel((x, y), (0, 0, 0, a / n))
      s = pygame.image.fromstring(img.tostring(), s.get_size(), "RGBA")
      """
      
      t = Texture()
      t.setFilter(GL_LINEAR, GL_LINEAR)
      t.setRepeat(GL_CLAMP, GL_CLAMP)
      t.loadSurface(s, alphaChannel = True)
      del s
      self.glyphCache[ch] = t
      return t
开发者ID:broccoliftw,项目名称:workingfofwindows8,代码行数:38,代码来源:Font.py

示例12: ImgDrawing

class ImgDrawing(object):
    VTX_ARRAY = np.array([[0.0, 1.0], [1.0, 1.0], [1.0, 0.0], [0.0, 0.0]], dtype=np.float32) #hard-coded quad for drawing textures onto

    def drawImage(image, scale = (1.0, -1.0), coord = (0, 0), rot = 0, \
                  color = (1,1,1,1), rect = (0,1,0,1), stretched = 0, fit = CENTER, \
                  alignment = CENTER, valignment = CENTER):
        """
        Draws the image/surface to screen
        """

        if not isinstance(image, ImgDrawing):
            return False

        image.setRect(rect)
        image.setScale(scale[0], scale[1], stretched)
        image.setPosition(coord[0], coord[1], fit)
        image.setAlignment(alignment)
        image.setVAlignment(valignment)
        image.setAngle(rot)
        image.setColor(color)
        image.draw()

        return True

    def __init__(self, context, ImgData):
        self.ImgData = None
        self.texture = None
        self.context = context
        self.cache = None
        self.filename = ImgData

        # Detect the type of data passed in
        if isinstance(ImgData, file):
            self.ImgData = ImgData.read()
        elif isinstance(ImgData, basestring):
            self.texture = Texture(ImgData)
        elif isinstance(ImgData, Image.Image): #stump: let a PIL image be passed in
            self.texture = Texture()
            self.texture.loadImage(ImgData)

        # Make sure we have a valid texture
        if not self.texture:
            if isinstance(ImgData, basestring):
                e = "Unable to load texture for %s." % ImgData
            else:
                e = "Unable to load texture for SVG file."
            Log.error(e)
            raise RuntimeError(e)

        self.pixelSize = self.texture.pixelSize #the size of the image in pixels (from texture)
        self.position = [0.0,0.0]               #position of the image in the viewport
        self.scale    = [1.0,1.0]               #percentage scaling
        self.angle    = 0                       #angle of rotation (degrees)
        self.color    = (1.0,1.0,1.0,1.0)       #glColor rgba
        self.rect     = (0,1,0,1)               #texture mapping coordinates
        self.shift    = -.5                     #horizontal alignment
        self.vshift   = -.5                     #vertical alignment

        self.path = self.texture.name           #path of the image file

        self.texArray = np.zeros((4,2), dtype=np.float32)

        self.createTex()

    def createTex(self):
        tA = self.texArray
        rect = self.rect

        #topLeft, topRight, bottomRight, bottomLeft
        tA[0,0] = rect[0]; tA[0,1] = rect[3]
        tA[1,0] = rect[1]; tA[1,1] = rect[3]
        tA[2,0] = rect[1]; tA[2,1] = rect[2]
        tA[3,0] = rect[0]; tA[3,1] = rect[2]

    def width1(self):
        """
        @return the width of the texture in pixels
        """
        width = self.pixelSize[0]
        if width:
            return width
        else:
            return 0

    def height1(self):
        """
        @return the height of the texture in pixels
        """
        height = self.pixelSize[1]
        if height is not None:
            return height
        else:
            return 0

    def widthf(self, pixelw):
        """
        @param pixelw - a width in pixels
        @return the scaled ratio of the pixelw divided by the pixel width of the texture
        """
        width = self.pixelSize[0]
#.........这里部分代码省略.........
开发者ID:Richardgriff,项目名称:fofix,代码行数:101,代码来源:Svg.py

示例13: ImgDrawing

class ImgDrawing(object):
  def __init__(self, context, ImgData):
    self.ImgData = None
    self.texture = None
    self.context = context
    self.cache = None
    self.transform = SvgTransform()
    self.filename = ImgData
    self.triangVtx = np.zeros((4,2), dtype=float32)
    self.textriangVtx = np.zeros((4,2), dtype=float32)

    # Detect the type of data passed in
    if type(ImgData) == file:
      self.ImgData = ImgData.read()
    elif type(ImgData) == str:
      self.texture = Texture(ImgData)
#      bitmapFile = ImgData.replace(".svg", ".png")
#      # Load PNG files directly
#      if ImgData.endswith(".png"):
#        self.texture = Texture(ImgData)
#      elif ImgData.endswith(".jpg"):
#        self.texture = Texture(ImgData)
#      elif ImgData.endswith(".jpeg"):
#        self.texture = Texture(ImgData)
      # Check whether we have a prerendered bitmap version of the SVG file
#      elif ImgData.endswith(".svg") and os.path.exists(bitmapFile):
#        Log.debug("Loading cached bitmap '%s' instead of '%s'." % (bitmapFile, ImgData))
#        self.texture = Texture(bitmapFile)
#      else:
#        if not haveAmanith:
#          e = "PyAmanith support is deprecated and you are trying to load an SVG file."
#          Log.error(e)
#          raise RuntimeError(e)
#        Log.debug("Loading SVG file '%s'." % (ImgData))
#        self.ImgData = open(ImgData).read()
    elif isinstance(ImgData, Image.Image): #stump: let a PIL image be passed in
      self.texture = Texture()
      self.texture.loadImage(ImgData)

    # Make sure we have a valid texture
    if not self.texture:
      if type(ImgData) == str:
        e = "Unable to load texture for %s." % ImgData
      else:
        e = "Unable to load texture for SVG file."
      Log.error(e)
      raise RuntimeError(e)

  def convertToTexture(self, width, height):
    if self.texture:
      return

    e = "SVG drawing does not have a valid texture image."
    Log.error(e)
    raise RuntimeError(e)

  def _getEffectiveTransform(self):
    transform = SvgTransform(self.transform)
    transform.transform(self.context.transform)
    return transform

  def width1(self):
    width = self.texture.pixelSize[0]
    if not width == None:
      return width
    else:
      return 0

  #myfingershurt:
  def height1(self):
    height = self.texture.pixelSize[1]
    if not height == None:
      return height
    else:
      return 0


  def widthf(self, pixelw):
    width = self.texture.pixelSize[0]
    wfactor = pixelw/width
    if not width == None:
      return wfactor
    else:
      return 0    

  def draw(self, color = (1, 1, 1, 1), rect = (0,1,0,1), lOffset = 0.0, rOffset = 0.0):
    glMatrixMode(GL_TEXTURE)
    glPushMatrix()
    glMatrixMode(GL_PROJECTION)
    glPushMatrix()
    self.context.setProjection()
    glMatrixMode(GL_MODELVIEW)
    glPushMatrix()

    glLoadIdentity()
    self._getEffectiveTransform().applyGL()

    glScalef(self.texture.pixelSize[0], self.texture.pixelSize[1], 1)
    glTranslatef(-.5, -.5, 0)
    glColor4f(*color)
#.........这里部分代码省略.........
开发者ID:Gamer125,项目名称:fofix,代码行数:101,代码来源:Svg.py

示例14: ImgDrawing

class ImgDrawing(object):
  def __init__(self, context, ImgData):
    self.ImgData = None
    self.texture = None
    self.context = context
    self.cache = None
    self.filename = ImgData

    # Detect the type of data passed in
    if type(ImgData) == file:
      self.ImgData = ImgData.read()
    elif type(ImgData) == str:
      self.texture = Texture(ImgData)
    elif isinstance(ImgData, Image.Image): #stump: let a PIL image be passed in
      self.texture = Texture()
      self.texture.loadImage(ImgData)

    # Make sure we have a valid texture
    if not self.texture:
      if type(ImgData) == str:
        e = "Unable to load texture for %s." % ImgData
      else:
        e = "Unable to load texture for SVG file."
      Log.error(e)
      raise RuntimeError(e)

    self.pixelSize = self.texture.pixelSize #the size of the image in pixels (from texture)
    self.position = [0.0,0.0]               #position of the image in the viewport
    self.scale    = [1.0,1.0]               #percentage scaling
    self.angle    = 0                       #angle of rotation (degrees)
    self.color    = (1.0,1.0,1.0,1.0)       #glColor rgba
    self.rect     = (0,1,0,1)               #texture mapping coordinates
    self.shift    = -.5                     #horizontal alignment
    self.vshift   = -.5                     #vertical alignment

    self.path = self.texture.name           #path of the image file
    
    self.createArrays()

  def createArrays(self):
    self.vtxArray = np.zeros((4,2), dtype=np.float32)
    self.texArray = np.zeros((4,2), dtype=np.float32)

    self.createVtx()
    self.createTex()

  def createVtx(self):
    vA = self.vtxArray #short hand variable casting
    
    #topLeft, topRight, bottomRight, bottomLeft
    vA[0,0] = 0.0; vA[0,1] = 1.0
    vA[1,0] = 1.0; vA[1,1] = 1.0
    vA[2,0] = 1.0; vA[2,1] = 0.0
    vA[3,0] = 0.0; vA[3,1] = 0.0
    
  def createTex(self):
    tA = self.texArray
    rect = self.rect

    #topLeft, topRight, bottomRight, bottomLeft
    tA[0,0] = rect[0]; tA[0,1] = rect[3]
    tA[1,0] = rect[1]; tA[1,1] = rect[3]
    tA[2,0] = rect[1]; tA[2,1] = rect[2]
    tA[3,0] = rect[0]; tA[3,1] = rect[2]
    
  def width1(self):
    width = self.pixelSize[0]
    if width:
      return width
    else:
      return 0

  #myfingershurt:
  def height1(self):
    height = self.pixelSize[1]
    if height:
      return height
    else:
      return 0

  def widthf(self, pixelw):
    width = self.pixelSize[0]
    if width:
      wfactor = pixelw/width
      return wfactor
    else:
      return 0    

  def setPosition(self, x, y):
    self.position = [x,y]

  def setScale(self, width, height):
    self.scale = [width, height]

  def setAngle(self, angle):
    self.angle = angle

  def setRect(self, rect):
    if not rect == self.rect: 
      self.rect = rect
#.........这里部分代码省略.........
开发者ID:davwong,项目名称:fofix,代码行数:101,代码来源:Svg.py

示例15: __init__

class ImgDrawing:
  def __init__(self, context, ImgData):
    self.ImgData = None
    self.texture = None
    self.context = context
    self.cache = None
    self.transform = SvgTransform()

    # Detect the type of data passed in
    if type(ImgData) == file:
      self.ImgData = ImgData.read()
    elif type(ImgData) == str:
      bitmapFile = ImgData.replace(".svg", ".png")
      # Load PNG files directly
      if ImgData.endswith(".png"):
        self.texture = Texture(ImgData)
      elif ImgData.endswith(".jpg"):
        self.texture = Texture(ImgData)
      elif ImgData.endswith(".jpeg"):
        self.texture = Texture(ImgData)
      # Check whether we have a prerendered bitmap version of the SVG file
      elif ImgData.endswith(".svg") and os.path.exists(bitmapFile):
        Log.debug("Loading cached bitmap '%s' instead of '%s'." % (bitmapFile, ImgData))
        self.texture = Texture(bitmapFile)
      else:
        if not haveAmanith:
          e = "PyAmanith support is deprecated and you are trying to load an SVG file."
          Log.error(e)
          raise RuntimeError(e)
        Log.debug("Loading SVG file '%s'." % (ImgData))
        self.ImgData = open(ImgData).read()
    elif isinstance(ImgData, Image.Image): #stump: let a PIL image be passed in
      self.texture = Texture()
      self.texture.loadImage(ImgData)

    # Make sure we have a valid texture
    if not self.texture:
      if type(ImgData) == str:
        e = "Unable to load texture for %s." % ImgData
      else:
        e = "Unable to load texture for SVG file."
      Log.error(e)
      raise RuntimeError(e)

  def _cacheDrawing(self, drawBoard):
    self.cache.beginCaching()
    parser = sax.make_parser()
    sax.parseString(self.ImgData, SvgHandler(drawBoard, self.cache))
    self.cache.endCaching()
    del self.ImgData

  def convertToTexture(self, width, height):
    if self.texture:
      return

    e = "SVG drawing does not have a valid texture image."
    Log.error(e)
    raise RuntimeError(e)

  def _getEffectiveTransform(self):
    transform = SvgTransform(self.transform)
    transform.transform(self.context.transform)
    return transform

  def width1(self):
    width = self.texture.pixelSize[0]
    if not width == None:
      return width
    else:
      return 0

  #myfingershurt:
  def height1(self):
    height = self.texture.pixelSize[1]
    if not height == None:
      return height
    else:
      return 0


  def widthf(self, pixelw):
    width = self.texture.pixelSize[0]
    wfactor = pixelw/width
    if not width == None:
      return wfactor
    else:
      return 0    

  def _render(self, transform):
    glMatrixMode(GL_TEXTURE)
    glPushMatrix()
    glMatrixMode(GL_MODELVIEW)
    
    glPushAttrib(GL_ENABLE_BIT | GL_TEXTURE_BIT | GL_STENCIL_BUFFER_BIT | GL_TRANSFORM_BIT | GL_COLOR_BUFFER_BIT | GL_POLYGON_BIT | GL_CURRENT_BIT | GL_DEPTH_BUFFER_BIT)
    if not self.cache:
      self.cache = SvgCache(self.context.drawBoard)
      self._cacheDrawing(self.context.drawBoard)
    self.cache.draw(transform)
    glPopAttrib()

#.........这里部分代码省略.........
开发者ID:Gamer125,项目名称:fofix,代码行数:101,代码来源:Svg.py


注:本文中的Texture.Texture类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。