All pastes #2046758 Raw Edit

Mine

public text v1 · immutable
#2046758 ·published 2011-04-15 10:51 UTC
rendered paste body
	public void doErosion()
	{
		Image img = canvas.getImgRecon();
		
		Image tempImg = new Image(img.getWidth(), img.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
		WritableRaster cRaster = tempImg.getRaster();
		
		if (img != null)
		{
			WritableRaster raster = img.getRaster();
			int h = img.getHeight();
			int w = img.getWidth();
			
			for (int i = 0; i < w; i++) {
				for (int j = 0; j < h; j++)
				{
					cRaster.setSample(i,j,0,this.getMin(i,j,w,h,raster));
				} 
			}
			this.canvas.imgRecon = tempImg;
		}
	}
	
	public int getMin(int i, int j, int w, int h, WritableRaster raster)
	{
		int x,y;
		int ero = Integer.MAX_VALUE;
		for (int k = -1; k < 2; k++) {
			for (int l = -1; l < 2; l++)
			{	x = i + k;
				y = j + l;
				if (!(x >= 0 && x < w))
				{
					x = i - k;
				}
				if (!(y >= 0 && y < h))
				{
					y = j - l;
				}
				ero = Math.min(ero, raster.getSample(x,y,0));
			} 
		}	
		return ero;
	}