Procedurality.Channel.smoothWrap C# (CSharp) Method

smoothWrap() public method

public smoothWrap ( int radius ) : Channel
radius int
return Channel
		public Channel smoothWrap(int radius) {
			radius = Math.Max(1, radius);
			Channel filter = new Channel(width, height);
			float factor = 1f/((2*radius + 1)*(2*radius + 1));
			for (int y = 0; y < height; y++) {
				for (int x = 0; x < width; x++) {
					filter.putPixel(x, y, factor*getPixel(x, y));
				}
			}
			for (int x = 0; x < width; x++) {
				for (int y = 0; y < height; y++) {
					float sum = 0f;
					for (int i = -radius; i < radius + 1; i++) {
						for (int j = -radius; j < radius + 1; j++) {
							sum += filter.getPixelWrap(x + j, y + i);
						}
					}
					putPixel(x, y, sum);
				}
			}
			return this;
		}