OK, the following is supposed to be a simple blur effect on an image, but for some reason it is changing all pixels to a single color, instead of bluring. Anyone have any ideas on what might be the problem. I am pretty sure the problem is in this code.
Function simple_blur(image_in, depth, range) image_buffer = ImageBuffer(image_in) new_image = CreateImage(ImageWidth(image_in), ImageHeight(image_in)) output_buffer = ImageBuffer(new_image) For z = 1 To depth For x = 1 To ImageWidth(image_in) For y = 1 To ImageHeight(image_in) For x2 = -range To range For y2 = -range To range red = red + GetRed(ReadPixel(x2,y2,image_buffer)) blue = blue + GetBlue(ReadPixel(x2,y2,image_buffer)) green = green + GetGreen(ReadPixel(x2,y2,image_buffer)) Next Next divit = ((range * 2)^2) red = (red / divit) green = (green / divit) blue = (blue / divit) WritePixel x, y, GetRGB(red,green,blue), output_buffer Next Next Next FreeImage image_in Return new_image End Function Function GetRed(rgb) Return rgb Shr 16 And %11111111 End Function Function GetGreen(rgb) Return rgb Shr 8 And %11111111 End Function Function GetBlue(rgb) Return rgb And %11111111 End Function Function GetRGB(red,green,blue) Return blue Or (green Shl 8) Or (red Shl 16) End Function