def scaleImageUI():  
	gd = GenericDialog("Scale")  
	gd.addSlider("Scale", 1, 200, 100)  
	gd.addCheckbox("Preview", True)  
	# The UI elements for the above two inputs  
	slider = gd.getSliders().get(0) # the only one  
	checkbox = gd.getCheckboxes().get(0) # the only one  
	
	imp = WM.getCurrentImage()  
	if not imp:  
		print "Open an image first!"  
		return  
	
	previewer = ScalingPreviewer(imp, slider, checkbox)  
	slider.addAdjustmentListener(previewer)  
	checkbox.addItemListener(previewer)  
		
	gd.showDialog()  
	
	if gd.wasCanceled():  
		previewer.reset()  
		print "User canceled dialog!"  
	else:  
		previewer.scale()  
	
	previewer.destroy()  
Пример #2
0
from java.lang import Math, System

image = WindowManager.getCurrentImage()
ip = image.getProcessor()
pixelsCopy = ip.getPixelsCopy()
pixels = ip.getPixels()
width = ip.getWidth()
height = ip.getHeight()

minWidth = int(Math.sqrt(len(pixels) / 16))
maxWidth = minWidth * 16


class Listener(AdjustmentListener):
    def adjustmentValueChanged(self, event):
        value = event.getSource().getValue()
        rowstride = min(width, value)
        for j in range(0, min(height, int(width * height / value))):
            System.arraycopy(pixelsCopy, j * value, pixels, j * width,
                             rowstride)
        image.updateAndDraw()


gd = GenericDialog("Width")
gd.addSlider("width", minWidth, maxWidth, ip.getHeight())
gd.getSliders().get(0).addAdjustmentListener(Listener())
gd.showDialog()
if gd.wasCanceled():
    pixels[0:width * height] = pixelsCopy
    image.updateAndDraw()
Пример #3
0
from java.awt.event import AdjustmentListener

from java.lang import Math, System

image = WindowManager.getCurrentImage()
ip = image.getProcessor()
pixelsCopy = ip.getPixelsCopy()
pixels = ip.getPixels()
width = ip.getWidth()
height = ip.getHeight()

minWidth = int(Math.sqrt(len(pixels) / 16))
maxWidth = minWidth * 16

class Listener(AdjustmentListener):
	def adjustmentValueChanged(self, event):
		value = event.getSource().getValue()
		rowstride = min(width, value)
		for j in range(0, min(height, int(width * height / value))):
			System.arraycopy(pixelsCopy, j * value,
				pixels, j * width, rowstride)
		image.updateAndDraw()

gd = GenericDialog("Width")
gd.addSlider("width", minWidth, maxWidth, ip.getHeight())
gd.getSliders().get(0).addAdjustmentListener(Listener())
gd.showDialog()
if gd.wasCanceled():
	pixels[0:width * height] = pixelsCopy
	image.updateAndDraw()