forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			66 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			66 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								import bpy, os, math, importlib
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from bpy.types import Menu, Operator, Panel, UIList
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from bpy.props import (
							 | 
						||
| 
								 | 
							
									StringProperty,
							 | 
						||
| 
								 | 
							
									BoolProperty,
							 | 
						||
| 
								 | 
							
									IntProperty,
							 | 
						||
| 
								 | 
							
									FloatProperty,
							 | 
						||
| 
								 | 
							
									FloatVectorProperty,
							 | 
						||
| 
								 | 
							
									EnumProperty,
							 | 
						||
| 
								 | 
							
									PointerProperty,
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class TLM_PT_Imagetools(bpy.types.Panel):
							 | 
						||
| 
								 | 
							
								    bl_label = "TLM Imagetools"
							 | 
						||
| 
								 | 
							
								    bl_space_type = "IMAGE_EDITOR"
							 | 
						||
| 
								 | 
							
								    bl_region_type = 'UI'
							 | 
						||
| 
								 | 
							
								    bl_category = "TLM Imagetools"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def draw_header(self, _):
							 | 
						||
| 
								 | 
							
								        layout = self.layout
							 | 
						||
| 
								 | 
							
								        row = layout.row(align=True)
							 | 
						||
| 
								 | 
							
								        row.label(text ="Image Tools")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def draw(self, context):
							 | 
						||
| 
								 | 
							
								        layout = self.layout
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        activeImg = None
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        for area in bpy.context.screen.areas:
							 | 
						||
| 
								 | 
							
								            if area.type == 'IMAGE_EDITOR':
							 | 
						||
| 
								 | 
							
								                activeImg = area.spaces.active.image
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if activeImg is not None and activeImg.name != "Render Result" and activeImg.name != "Viewer Node":
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            cv2 = importlib.util.find_spec("cv2")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if cv2 is None:
							 | 
						||
| 
								 | 
							
								                row = layout.row(align=True)
							 | 
						||
| 
								 | 
							
								                row.label(text ="OpenCV not installed.")
							 | 
						||
| 
								 | 
							
								            else:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                row = layout.row(align=True)
							 | 
						||
| 
								 | 
							
								                row.label(text ="Method")
							 | 
						||
| 
								 | 
							
								                row = layout.row(align=True)
							 | 
						||
| 
								 | 
							
								                row.prop(activeImg.TLM_ImageProperties, "tlm_image_scale_engine")
							 | 
						||
| 
								 | 
							
								                row = layout.row(align=True)
							 | 
						||
| 
								 | 
							
								                row.prop(activeImg.TLM_ImageProperties, "tlm_image_cache_switch")
							 | 
						||
| 
								 | 
							
								                row = layout.row(align=True)
							 | 
						||
| 
								 | 
							
								                row.operator("tlm.image_upscale")
							 | 
						||
| 
								 | 
							
								                if activeImg.TLM_ImageProperties.tlm_image_cache_switch:
							 | 
						||
| 
								 | 
							
								                    row = layout.row(align=True)
							 | 
						||
| 
								 | 
							
								                    row.label(text ="Switch up.")
							 | 
						||
| 
								 | 
							
								                row = layout.row(align=True)
							 | 
						||
| 
								 | 
							
								                row.operator("tlm.image_downscale")
							 | 
						||
| 
								 | 
							
								                if activeImg.TLM_ImageProperties.tlm_image_cache_switch:
							 | 
						||
| 
								 | 
							
								                    row = layout.row(align=True)
							 | 
						||
| 
								 | 
							
								                    row.label(text ="Switch down.")
							 | 
						||
| 
								 | 
							
								                if activeImg.TLM_ImageProperties.tlm_image_scale_engine == "OpenCV":
							 | 
						||
| 
								 | 
							
								                    row = layout.row(align=True)
							 | 
						||
| 
								 | 
							
								                    row.prop(activeImg.TLM_ImageProperties, "tlm_image_scale_method")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        else:
							 | 
						||
| 
								 | 
							
								            row = layout.row(align=True)
							 | 
						||
| 
								 | 
							
								            row.label(text ="Select an image")
							 |