xoff /= float(newsize[0]) yoff /= float(newsize[1]) Draw.Exit() for ob in Scene.GetCurrent().objects: if ob.getType() == "Mesh": mesh = ob.getData() if mesh.hasFaceUV(): for face in mesh.faces: if face.mode & NMesh.FaceModes.TEX and face.image == oldimage: for i in range(len(face.uv)): (s, t) = face.uv[i] face.uv[i] = (xoff + s * xscale, yoff + t * yscale) face.image = newimage mesh.update() newimage.makeCurrent() Window.RedrawAll() #--------------------------------------------------------------------------- oldimage = Image.GetCurrent() if oldimage: try: oldsize = oldimage.getSize() except: Draw.PupMenu("Can't read image %s" % oldimage.name) else: #Window.ImageSelector(dodialog, 'Replace image', oldimage.filename) Window.FileSelector(dodialog, 'Replace image', oldimage.filename)
# # Copyright (c) 2007 Jonathan Harris # # This code is licensed under version 2 of the GNU General Public License. # http://www.gnu.org/licenses/gpl-2.0.html # # See ReadMe-XPlane2Blender.html for usage. # from Blender import Draw, Image, Window from math import log from XPlaneUtils import PanelRegionHandler image = Image.GetCurrent() # may be None h = PanelRegionHandler() opts = [] if not image: pass elif h.isRegion(image): opts.append('Delete this region%x1') opts.append('Reload all regions%x3') elif h.isPanel(image): if h.countRegions() < PanelRegionHandler.REGIONCOUNT: opts.append('Create new region...%x2') else: opts.append( 'Can\'t create new region - already using maximum of %d regions%%x0' % PanelRegionHandler.REGIONCOUNT)
def DefaultImage(): image = Image.GetCurrent() return image
def edit_extern(image=None): if not image: image = Image.GetCurrent() if not image: # Image is None Draw.PupMenu('ERROR: You must select an active Image.') return if image.packed: Draw.PupMenu('ERROR: Image is packed, unpack before editing.') return imageFileName = sys.expandpath(image.filename) if not sys.exists(imageFileName): Draw.PupMenu('ERROR: Image path does not exist.') return pupblock = [imageFileName.split('/')[-1].split('\\')[-1]] new_text = False try: appstring = Registry.GetKey('ExternalImageEditor', True) appstring = appstring['path'] # for ZanQdo if he removed the path from the textbox totaly. ;) - Cam if not appstring or appstring.find('%f') == -1: new_text = True except: new_text = True if new_text: pupblock.append('first time, set path.') if platform == 'win32': appstring = 'start "" /B "%f"' elif platform == 'darwin': appstring = 'open "%f"' else: appstring = 'gimp-remote "%f"' appstring_but = Draw.Create(appstring) save_default_but = Draw.Create(0) pupblock.append( ('editor: ', appstring_but, 0, 48, 'Path to application, %f will be replaced with the image path.')) pupblock.append(('Set Default', save_default_but, 'Store this path in the blender registry.')) # Only configure if Shift is held, if Blender.Window.GetKeyQualifiers() & Blender.Window.Qual.SHIFT: if not Draw.PupBlock('External Image Editor...', pupblock): return appstring = appstring_but.val save_default = save_default_but.val if save_default: Registry.SetKey('ExternalImageEditor', {'path': appstring}, True) if appstring.find('%f') == -1: Draw.PupMenu( 'ERROR: The comment you entered did not contain the filename ("%f")' ) return # ------------------------------- appstring = appstring.replace('%f', imageFileName) print '\tediting image with command "%s"' % appstring os.system(appstring)
def edit_extern(image=None): if not image: image = Image.GetCurrent() if not image: # Image is None Draw.PupMenu('ERROR: Please select active Image.') return if image.packed: Draw.PupMenu('ERROR: Image is packed, unpack before editing.') return imageFileName = sys.expandpath( image.filename ) if not sys.exists(imageFileName): Draw.PupMenu('ERROR: Image path does not exist.') return pupblock = [imageFileName.split('/')[-1].split('\\')[-1]] new_text= False try: appstring = Registry.GetKey('ExternalImageEditor', True) appstring = appstring['path'] # for ZanQdo if he removed the path from the textbox totaly. ;) - Cam if not appstring or appstring.find('%f')==-1: new_text= True except: new_text= True if new_text: pupblock.append('first time, set path.') if platform == 'win32': # Example of path to popular image editor... ;-) # appstring = '"C:\\Program Files\\Adobe\\Photoshop CS\\photoshop.exe" "%f"' # Have to add "cmd /c" to make sure we're using Windows shell. appstring = 'cmd /c start "" /B "%f"' elif platform == 'darwin': appstring = 'open "%f"' else: appstring = 'gimp %f' appstring_but = Draw.Create(appstring) save_default_but = Draw.Create(0) pupblock.append(('editor: ', appstring_but, 0, 99, 'Path to application, %f will be replaced with the image path.')) pupblock.append(('Set Default', save_default_but, 'Store this path in the blender registry.')) # Only configure if Shift is held, if Blender.Window.GetKeyQualifiers() & Blender.Window.Qual.SHIFT: if not Draw.PupBlock('External Image Editor...', pupblock): return appstring = appstring_but.val save_default= save_default_but.val if save_default: Registry.SetKey('ExternalImageEditor', {'path':appstring}, True) if appstring.find('%f') == -1: Draw.PupMenu('ERROR: No filename specified! ("%f")') return # ------------------------------- os_run(appstring, imageFileName)