本文整理汇总了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]
#.........这里部分代码省略.........
示例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)
#.........这里部分代码省略.........
示例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
#.........这里部分代码省略.........
示例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()
#.........这里部分代码省略.........
示例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):
#.........这里部分代码省略.........
示例6: loadFromFile
# 需要导入模块: from Texture import Texture [as 别名]
# 或者: from Texture.Texture import loadImage [as 别名]
def loadFromFile(self, name):
texture = Texture(name)
return texture.loadImage()