def hide(): for node in app.activeDocument().topLevelNodes(): node.setVisible(False) app.activeDocument().refreshProjection()
active = doc.activeNode set_active = doc.setActiveNode
root = doc.rootNode() add = root.addChildNode
w, h = doc.width(), doc.height()
layer = active()
# Duplicate inverted blur layer and receiver layer, the receiver will be called highpass because that's what we get when we finally merge it to the original layer. add(layer.duplicate(), layer) highpass = active() highpass.setName("highpass") add(layer.duplicate(), highpass) inverted_blur = active() inverted_blur.setName("inverted_blur") refresh()
# Blur gblur = app.filter("gaussian blur") gblur_conf = gblur.configuration() gblur_conf.setProperty("horizRadius", 50) # these are exaggerated values for debugging gblur_conf.setProperty("vertRadius", 50) gblur_conf.setProperty("lockAspect", True) gblur.setConfiguration(gblur_conf) gblur.apply(inverted_blur, 0, 0, w, h) refresh()
# Apply Inverted Blur to the receiving layer, which is just a clone of the original at this point. inverted_blur.setOpacity(128) refresh() hide() inverted_blur.setVisible(True) highpass.setVisible(True) refresh() action('select_visible_layers') refresh() action('merge_layer') refresh()
# Now the receiving layer will become a highpass filter when used at 50% opacity in linear light mode. I guess. It'll have a cool effect anyway. Maybe this is not the scientific method though. highpass = doc.nodeByName("highpass Merged") refresh() print(highpass.name()) highpass.setBlendingMode('linear light') highpass.setOpacity(128) refresh() hide() highpass.setVisible(True) layer.setVisible(True) refresh() action('select_visible_layers') refresh() import time time.sleep(5) action('merge_layer') refresh()
Page 1 of 1
(1 post)
Bookmarks
Who is online
Registered users: Bing [Bot], claydoh, Evergrowing, Google [Bot], rblackwell