# separatecolor.py
# cmc, 11/23/09

from cImage import *

def separateRGBimages(image):

    width = image.getWidth()          
    height = image.getHeight()
    redim = EmptyImage(width,height)
    greenim = EmptyImage(width,height)
    blueim = EmptyImage(width,height)

    for row in range(height):
        for col in range(width):
            pixel = image.getPixel(col,row)
            redim.setPixel(col,row, Pixel(pixel.getRed(),0,0))
            greenim.setPixel(col,row, Pixel(0,pixel.getGreen(),0))
            blueim.setPixel(col,row, Pixel(0,0,pixel.getBlue()))
            
    return (redim,greenim,blueim)

def displayRGB(imageFile):
    original = FileImage(imageFile)
    w = original.getWidth()
    h = original.getHeight()
    myimagewindow = ImageWin("Image Processing",2*w,2*h)
    original.draw(myimagewindow)
    
    print("\nwait for it ...")
    redimage, greenimage, blueimage = separateRGBimages(original)
    redimage.setPosition(w+1,0)
    redimage.draw(myimagewindow)
    greenimage.setPosition(0,h+1)
    greenimage.draw(myimagewindow)
    blueimage.setPosition(w+1,h+1)
    blueimage.draw(myimagewindow)
    myimagewindow.exitOnClick()

filename = input("\nenter filename, including .gif suffix: ")
displayRGB(filename)
