#include #include "image.h" #define TEN 10 #define HOUSE_X 200 #define HOUSE_Y 150 #define HOUSE_WIDTH 300 #define HOUSE_HEIGHT 200 #define DOOR_WIDTH 60 #define DOOR_X HOUSE_X+ HOUSE_WIDTH/2 - DOOR_WIDTH/2 #define DOOR_Y 280 #define DOOR_HEIGHT HOUSE_Y+HOUSE_HEIGHT - DOOR_Y #define SUN_X 70 #define SUN_Y 70 #define SUN_RADIUS 50 #define WINDOW_WIDTH 70 #define WINDOW_HEIGHT 70 #define WINDOW_FRAME 5 int main() { char image[HEIGHT][WIDTH][COLORS]; char sunColor[COLORS], houseColor[COLORS]; char doorColor[COLORS], windowColor[COLORS]; char roofColor[COLORS], white[COLORS]; char color[COLORS]; int i,y; setColor(white, 255,255,255); blankImage(image, white); /* white background */ setColor(color, 0,200,0); putRectangle(image,250,0,150, WIDTH, color); setColor(color, 200,200,255); putRectangle(image,0,0,250, WIDTH, color); setColor(sunColor, 255, 255,0); putCircle(image, SUN_Y,SUN_X, SUN_RADIUS,sunColor); /* yellow sun */ setColor(houseColor,150,50,0); putRectangle(image,HOUSE_Y, HOUSE_X, HOUSE_HEIGHT, HOUSE_WIDTH, houseColor); /* main house */ setColor(doorColor,0,0,0); /* door */ putRectangle(image, DOOR_Y, DOOR_X, DOOR_HEIGHT, DOOR_WIDTH, doorColor); setColor(windowColor,200,200,200); /* window frame */ putRectangle(image, HOUSE_Y+30, HOUSE_X+30, WINDOW_HEIGHT, WINDOW_WIDTH,windowColor); putRectangle(image, HOUSE_Y+30, HOUSE_X+HOUSE_WIDTH -30-WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_WIDTH, windowColor); putRectangle(image, HOUSE_Y+120, HOUSE_X+30, WINDOW_HEIGHT, WINDOW_WIDTH,windowColor); putRectangle(image, HOUSE_Y+120, HOUSE_X+HOUSE_WIDTH -30-WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_WIDTH, windowColor); putCircle(image, HOUSE_Y+60, HOUSE_X+HOUSE_WIDTH/2, 20, windowColor); setColor(windowColor,60,60,60); /* window insides */ putRectangle(image, HOUSE_Y+30+WINDOW_FRAME, HOUSE_X+30+WINDOW_FRAME, WINDOW_HEIGHT- 2*WINDOW_FRAME, WINDOW_WIDTH-2*WINDOW_FRAME,windowColor); putRectangle(image, HOUSE_Y+30+WINDOW_FRAME, HOUSE_X+HOUSE_WIDTH -30-WINDOW_WIDTH+WINDOW_FRAME, WINDOW_HEIGHT-2*WINDOW_FRAME, WINDOW_WIDTH-2*WINDOW_FRAME, windowColor); putRectangle(image, HOUSE_Y+120+WINDOW_FRAME, HOUSE_X+30+WINDOW_FRAME, WINDOW_HEIGHT- 2*WINDOW_FRAME, WINDOW_WIDTH-2*WINDOW_FRAME,windowColor); putRectangle(image, HOUSE_Y+120+WINDOW_FRAME, HOUSE_X+HOUSE_WIDTH -30-WINDOW_WIDTH+WINDOW_FRAME, WINDOW_HEIGHT-2*WINDOW_FRAME, WINDOW_WIDTH-2*WINDOW_FRAME, windowColor); putRing(image, HOUSE_Y+60, HOUSE_X+HOUSE_WIDTH/2, 25, 20, windowColor); setColor(roofColor, 40, 40,0); y = HOUSE_Y -1; for (i = -20; i<=HOUSE_WIDTH/2; i=i+2) { putLine(image, y, HOUSE_X+i, y, HOUSE_X+HOUSE_WIDTH-i, roofColor); y--; } drawImage(image); return 0; }