Powered By Blogger

miércoles, 25 de febrero de 2009

Alpha_Blending

import ij.IJ;
import ij.ImagePlus;
import ij.WindowsManager;
import ij.gui.GenericDialog;
import ij.Plugin.Filter.PluginFilter;
import ij.proces;

public class Alpha_Blending implements PlugInfilter {

static double alpha = 05;
ImagePlus fgIm = null;
public int setup (ImageProcessor bgIp){
return DOES_BG;
}

public void run (ImageProcessor bgIp){
if (runDialog()){
ImageProcessor fgIp
=fgIm.getProcessor().converToByte(false)
fgIp = fgIp.duplicate();
fgIp.multiply(1-alpha);
bgIp.multiply(alpha);
bgIp.copyBits(fgIp, 0, 0, Blitter.ADD)
}
}

boolean runDialog(){
int [] windowslist = WindowsManager.getIDList();
if ()windowsList == null){
IJ.noImage();
return false;
}
String [] windowsTitles = new String [windowslist.length];
for(int i=; i< windowsLength; i++){
ImagePlus im = WindowsManager.getImage(windowsList[i]);
if (im == null)
windowsTiltles[i]= "untitled";
else
windowsTitles[i]=im.getShortTitle();
}

GenericDialog gd = new GenericDialog ("Alpha_Blending");
gd.addChoice("ForeGround image:", windowsTitles, windowsTiltles[0]);
gd.addNumericField("Alpha value [0..1];",alpha, 2);
gd.showDialog();
if (gd.waasCanceled())
return false;
else{
int fgIdx = gd.getNextChoiceIndex();
fgIm = WindowsManager.getImage(windowsList[fgIdx]);
alpha = gd.getNextnumeber();
return true;
}
}
}

No hay comentarios: