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") |