Blender (jusqu'à 2.49)
Module Image
Charger une image quelconque 
au format PNG,JPG,TGA ou BMP

(english version)

    Début   Index
précédentScript Dimension et  distance
fixcamera.py Suivant
Variation avec le module  Image
Variation avec le module  Draw

Télécharger le script
Variation avec le module  Image
 

# ==================================
# Charge et affiche  une image  jpg/png/tga ou bmp v.0.2
# en utilisant les nouvelles fonctions du module image

# jmsoler, 29/10/2004
# ==================================
import Blender
from Blender import BGL

IMAGE_ADRESSE="F:/EasyPHP/www/jmsoler/util/blenderfile/bonneannee2004.jpg"

img=Blender.Image.Load(IMAGE_ADRESSE)
img.glLoad()

def Display_Image(img,x,y,dx,dy): 
 """
 img =   l'objet chrage' en passant par la fonction Blender.Image.Load() 
 x,y =   position dans la fentre de script à partir de coin inferieur gauche
 dx,dy = mise a l'echelle : dx*longuer, dy*hauteur
 """
 BGL.glEnable(BGL.GL_TEXTURE_2D)
 BGL.glBindTexture(BGL.GL_TEXTURE_2D, img.getBindCode())
 BGL.glBegin(BGL.GL_POLYGON)
 BGL.glTexCoord2f(0.0,0.0) 
 BGL.glColor3f(1.0,1.0,1.0)
 BGL.glVertex3f(float(x),float(y),0.0)
 BGL.glTexCoord2f(1.0,0.0)
 BGL.glColor3f(1.0,1.0,1.0)
 BGL.glVertex3f(float(x+img.getSize()[0]*dx),float(y),0.0)
 BGL.glTexCoord2f(1.0,1.0)
 BGL.glColor3f(1.0,1.0,1.0)
 BGL.glVertex3f(float(x+img.getSize()[0]*dx),float(y+img.getSize()[1]*dy),0.0)
 BGL.glTexCoord2f(0.0,1.0) 
 BGL.glColor3f(1.0,1.0,1.0)
 BGL.glVertex3f(float(x),float(y+img.getSize()[1]*dy),0.0 )
 BGL.glEnd() 

 BGL.glDisable(BGL.GL_TEXTURE_2D)

def draw():
 global img
 size= BGL.Buffer(BGL.GL_FLOAT, 4)
 BGL.glGetFloatv(BGL.GL_SCISSOR_BOX, size) 
 size= size.list

 # Exemple 1, image en fond d'ecran
 # au dimension de la fenetre de script
 Display_Image(img,1,1,size[2]/img.getSize()[0],size[3]/img.getSize()[1])

 #exemple 2,  image redimensionnee
 Display_Image(img,30,10,0.3,2.0)

 #exemple 3, decoupe dans un coin en haut a droite
 Display_Image(img,size[2]-100,size[3]-100,2.0,0.5)

 #exemple 4, affichage normal
 Display_Image(img,130,100,1.0,1.0)

 Blender.Draw.Button("Exit", 1, 100, 10, 80, 19)

def event(evt, val): 
 global img
 if (evt== Blender.Draw.QKEY and not val): 
  Blender.Draw.Exit()
  img.glFree()
 else:
  Blender.Window.Redraw(Blender.Window.Types['SCRIPT']) 

def bevent(evt):
 if   (evt== 1): Blender.Draw.Exit()

Blender.Draw.Register(draw, event, bevent)

Variation avec le module  Draw (plus court)
 

import Blender
from   Blender import Draw 
from   Blender import BGL

IMAGE_ADRESSE="F:/EasyPHP/www/jmsoler/util/blenderfile/bonneannee2004.jpg"
img=Blender.Image.Load(IMAGE_ADRESSE)

def draw():
 global img
 size= BGL.Buffer(BGL.GL_FLOAT, 4)
 BGL.glGetFloatv(BGL.GL_SCISSOR_BOX, size) 
 size= size.list
 Draw.Image(img,1,1,size[2]/img.getSize()[0],size[3]/img.getSize()[1])
 Blender.Draw.Button("Exit", 1, 100, 10, 80, 19)

def event(evt, val): 
 global img
 if (evt== Blender.Draw.QKEY and not val): 
  Blender.Draw.Exit()
 else:
  Blender.Window.Redraw(Blender.Window.Types['SCRIPT']) 

def bevent(evt):
 if   (evt== 1): Blender.Draw.Exit()

Blender.Draw.Register(draw, event, bevent)
print "ok"


 
précédentScript Dimension et  distance
 fixcamera.py Suivant
Vers le  Haut de page

Les questions concernant cette page  peuvent être posées sur  :
 news://news.zoo-logique.org/3D.Blender


 

 

Livre en français
Blender : apprenez, pratiquez, Créez, livre, Ed. Campus Press, coll. Starter Kit
Blender Starter Kit

Forum
FAQ
Lexique
Didacticiels
Compilations
Blender2KT
Débuter
Modelage
Blender python
Materiaux
Lumière
Animation
API python (eng)
Archives nzn
Statistiques
Doc flash Sculptris
Galerie Sculptris

mon site de démos sur youtube