color_obj.c
来自「CA仿真模型中SLEUTH模型」· C语言 代码 · 共 434 行 · 第 1/2 页
C
434 行
color_table_deltatron_ptr->size = MAX_COLORS; for (i = 0; i < scen_GetDeltatronColorCount (); i++) { color_val = scen_GetDeltatronColor (i); color_table_deltatron_ptr->color[i].red = (color_val & RED_MASK) >> 16; color_table_deltatron_ptr->color[i].green = (color_val & GREEN_MASK) >> 8; color_table_deltatron_ptr->color[i].blue = color_val & BLUE_MASK; } for (i = scen_GetDeltatronColorCount (); i < MAX_COLORS; i++) { color_table_deltatron_ptr->color[i].red = i; color_table_deltatron_ptr->color[i].green = i; color_table_deltatron_ptr->color[i].blue = i; } /* * * USER OVER RIDES * */ index = WATER_COLOR_INDEX; color_val = scen_GetWaterColor (); color_table_probability_ptr->color[index].red = (color_val & RED_MASK) >> 16; color_table_probability_ptr->color[index].green = (color_val & GREEN_MASK) >> 8; color_table_probability_ptr->color[index].blue = color_val & BLUE_MASK;color_table_landuse_ptr->color[index].red = (color_val & RED_MASK) >> 16;color_table_landuse_ptr->color[index].green = (color_val & GREEN_MASK) >> 8;color_table_landuse_ptr->color[index].blue = color_val & BLUE_MASK; index = SEED_COLOR_INDEX; color_val = scen_GetSeedColor (); color_table_probability_ptr->color[index].red = (color_val & RED_MASK) >> 16; color_table_probability_ptr->color[index].green = (color_val & GREEN_MASK) >> 8; color_table_probability_ptr->color[index].blue = color_val & BLUE_MASK; index = DATE_COLOR_INDEX; color_val = scen_GetDateColor (); color_table_probability_ptr->color[index].red = (color_val & RED_MASK) >> 16; color_table_probability_ptr->color[index].green = (color_val & GREEN_MASK) >> 8; color_table_probability_ptr->color[index].blue = color_val & BLUE_MASK; for (i = 0; i < scen_GetProbabilityColorCount (); i++) { index = i + START_INDEX_FOR_PROBABILITY_COLORS; color_val = scen_GetProbabilityColor (i); color_table_probability_ptr->color[index].red = (color_val & RED_MASK) >> 16; color_table_probability_ptr->color[index].green = (color_val & GREEN_MASK) >> 8; color_table_probability_ptr->color[index].blue = color_val & BLUE_MASK; } strcpy (color_table_growth_ptr->name, "GROWTH_COLORMAP"); color_table_growth_ptr->size = MAX_COLORS; for (i = 0; i < MAX_COLORS; i++) { color_table_growth_ptr->color[i].red = i; color_table_growth_ptr->color[i].green = i; color_table_growth_ptr->color[i].blue = i; } index = PHASE0G; color_val = scen_GetPhase0GrowthColor (); color_table_growth_ptr->color[index].red = (color_val & RED_MASK) >> 16; color_table_growth_ptr->color[index].green = (color_val & GREEN_MASK) >> 8; color_table_growth_ptr->color[index].blue = color_val & BLUE_MASK; index = PHASE1G; color_val = scen_GetPhase1GrowthColor (); color_table_growth_ptr->color[index].red = (color_val & RED_MASK) >> 16; color_table_growth_ptr->color[index].green = (color_val & GREEN_MASK) >> 8; color_table_growth_ptr->color[index].blue = color_val & BLUE_MASK; index = PHASE2G; color_val = scen_GetPhase2GrowthColor (); color_table_growth_ptr->color[index].red = (color_val & RED_MASK) >> 16; color_table_growth_ptr->color[index].green = (color_val & GREEN_MASK) >> 8; color_table_growth_ptr->color[index].blue = color_val & BLUE_MASK; index = PHASE3G; color_val = scen_GetPhase3GrowthColor (); color_table_growth_ptr->color[index].red = (color_val & RED_MASK) >> 16; color_table_growth_ptr->color[index].green = (color_val & GREEN_MASK) >> 8; color_table_growth_ptr->color[index].blue = color_val & BLUE_MASK; index = PHASE4G; color_val = scen_GetPhase4GrowthColor (); color_table_growth_ptr->color[index].red = (color_val & RED_MASK) >> 16; color_table_growth_ptr->color[index].green = (color_val & GREEN_MASK) >> 8; color_table_growth_ptr->color[index].blue = color_val & BLUE_MASK; index = PHASE5G; color_val = scen_GetPhase5GrowthColor (); color_table_growth_ptr->color[index].red = (color_val & RED_MASK) >> 16; color_table_growth_ptr->color[index].green = (color_val & GREEN_MASK) >> 8; color_table_growth_ptr->color[index].blue = color_val & BLUE_MASK;}/*************************************************************************************************************************************************************** FUNCTION NAME: color_LogIt** PURPOSE: logs the colortable values on file descriptor fp** AUTHOR: Keith Clarke** PROGRAMMER: Tommy E. Cathey of NESC (919)541-1500** CREATION DATE: 11/11/1999** DESCRIPTION:*****/void color_LogIt (FILE * fp){ int i; int color_val; char zeroes[] = "000000"; char color_str[6]; char hex_str[6]; fprintf (fp, "\n*********************LOGGING COLORTABLES*****************\n\n"); fprintf (fp, "COLORMAP: %s\n", color_table_landuse_ptr->name); for (i = 0; i < color_table_landuse_ptr->size; i++) { color_val = color_table_landuse_ptr->color[i].red * 256 * 256 + color_table_landuse_ptr->color[i].green * 256 + color_table_landuse_ptr->color[i].blue; sprintf (color_str, "%X", color_val); strcpy (hex_str, zeroes); strcpy (hex_str + 6 - strlen (color_str), color_str); fprintf (fp, "%3u %3u %3u %3u = %s\n", i, color_table_landuse_ptr->color[i].red, color_table_landuse_ptr->color[i].green, color_table_landuse_ptr->color[i].blue, hex_str); } fprintf (fp, "COLORMAP: %s\n", color_table_probability_ptr->name); for (i = 0; i < color_table_probability_ptr->size; i++) { color_val = color_table_probability_ptr->color[i].red * 256 * 256 + color_table_probability_ptr->color[i].green * 256 + color_table_probability_ptr->color[i].blue; sprintf (color_str, "%X", color_val); strcpy (hex_str, zeroes); strcpy (hex_str + 6 - strlen (color_str), color_str); fprintf (fp, "%3u %3u %3u %3u = %s\n", i, color_table_probability_ptr->color[i].red, color_table_probability_ptr->color[i].green, color_table_probability_ptr->color[i].blue, hex_str); } fprintf (fp, "COLORMAP: %s\n", color_table_growth_ptr->name); for (i = 0; i < color_table_growth_ptr->size; i++) { color_val = color_table_growth_ptr->color[i].red * 256 * 256 + color_table_growth_ptr->color[i].green * 256 + color_table_growth_ptr->color[i].blue; sprintf (color_str, "%X", color_val); strcpy (hex_str, zeroes); strcpy (hex_str + 6 - strlen (color_str), color_str); fprintf (fp, "%3u %3u %3u %3u = %s\n", i, color_table_growth_ptr->color[i].red, color_table_growth_ptr->color[i].green, color_table_growth_ptr->color[i].blue, hex_str); } fprintf (fp, "COLORMAP: %s\n", color_table_grayscale_ptr->name); for (i = 0; i < color_table_grayscale_ptr->size; i++) { color_val = color_table_grayscale_ptr->color[i].red * 256 * 256 + color_table_grayscale_ptr->color[i].green * 256 + color_table_grayscale_ptr->color[i].blue; sprintf (color_str, "%X", color_val); strcpy (hex_str, zeroes); strcpy (hex_str + 6 - strlen (color_str), color_str); fprintf (fp, "%3u %3u %3u %3u = %s\n", i, color_table_grayscale_ptr->color[i].red, color_table_grayscale_ptr->color[i].green, color_table_grayscale_ptr->color[i].blue, hex_str); } fflush (fp);}/*************************************************************************************************************************************************************** FUNCTION NAME: color_MemoryLog** PURPOSE: log the memory locations on file descriptor fp** AUTHOR: Keith Clarke** PROGRAMMER: Tommy E. Cathey of NESC (919)541-1500** CREATION DATE: 11/11/1999** DESCRIPTION:*****/void color_MemoryLog (FILE * fp){ char func[] = "color_MemoryLog"; if (!initialized) { sprintf (msg_buf, "color_Init() has not been called yet"); LOG_ERROR (msg_buf); EXIT (1); } LOG_MEM (fp, color_table_landuse_ptr, sizeof (struct colortable), 1); LOG_MEM (fp, color_table_probability_ptr, sizeof (struct colortable), 1); LOG_MEM (fp, color_table_growth_ptr, sizeof (struct colortable), 1); LOG_MEM (fp, color_table_deltatron_ptr, sizeof (struct colortable), 1); LOG_MEM (fp, color_table_grayscale_ptr, sizeof (struct colortable), 1);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?