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


Python Texture.loadImage方法代码示例

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


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

示例1: ImgDrawing

# 需要导入模块: from Texture import Texture [as 别名]
# 或者: from Texture.Texture import loadImage [as 别名]
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,代码行数:103,代码来源:Svg.py

示例2: ImgDrawing

# 需要导入模块: from Texture import Texture [as 别名]
# 或者: from Texture.Texture import loadImage [as 别名]
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,代码行数:103,代码来源:Svg.py

示例3: ImgDrawing

# 需要导入模块: from Texture import Texture [as 别名]
# 或者: from Texture.Texture import loadImage [as 别名]
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,代码行数:103,代码来源:Svg.py

示例4: __init__

# 需要导入模块: from Texture import Texture [as 别名]
# 或者: from Texture.Texture import loadImage [as 别名]
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,代码行数:103,代码来源:Svg.py

示例5: ImgDrawing

# 需要导入模块: from Texture import Texture [as 别名]
# 或者: from Texture.Texture import loadImage [as 别名]
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
    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()

  def createArrays(self):
    self.vtxArray = np.zeros((4,2), dtype=float32)
    self.texArray = np.zeros((4,2), dtype=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 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 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):
#.........这里部分代码省略.........
开发者ID:cherbib,项目名称:fofix,代码行数:103,代码来源:Svg.py

示例6: loadFromFile

# 需要导入模块: from Texture import Texture [as 别名]
# 或者: from Texture.Texture import loadImage [as 别名]
 def loadFromFile(self, name):
     texture = Texture(name)
     return texture.loadImage()
开发者ID:rosedu,项目名称:hfall,代码行数:5,代码来源:TextureManager.py


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