Example #1
0
static void
brighten(surface& surf, const std::string& parameters)
{
	float amount;
	const int count = sscanf(parameters.c_str(), "%f", &amount);

	if(count != 1) {
		std::cerr << "Error: Arguments to brighten »"
				<< parameters
				<< "« are not compatible.\n";

		throw texit(EXIT_FAILURE);
	}

	surf = brighten_image(surf, amount);
}
Example #2
0
int main()
{
	//Declare Variables
	int num_pixel_row, num_pixel_column, num_bright, num_menu;
	int pixel_data[100][100] = {0,};

	while(1)
	{
		//메뉴 번호 입력
		printf("1) 이미지 입력\n2) 이미지 밝기 증가\n3) 이미지 밝기 감소\n4) 이미지 밝기 출력\n5) 프로그램 종료\n");
		printf("메뉴를 입력하세요: ");
		scanf("%d", &num_menu);
	
		if(num_menu == 1)													//Image Data 입력
		{
			scanf("%d %d", &num_pixel_row, &num_pixel_column);
			for(int i = 0;i < num_pixel_row;i++)
			{
				for(int j = 0;j < num_pixel_column;j++) 
				{
					scanf("%d", &pixel_data[i][j]);
				}
			}

			printf("\n");
		}

		else if(num_menu == 2)													//밝기 증가 수치 입력
		{
			printf("증가시킬 밝기의 양을 입력하세요: ");
			scanf("%d", &num_bright);

			brighten_image(num_pixel_row, num_pixel_column, num_bright, pixel_data);

			printf("\n");
			
		}

		else if(num_menu == 3)													//밝기 감소 수치 입력
		{
			printf("감소시킬 밝기의 양을 입력하세요: ");
			scanf("%d", &num_bright);

			darken_image(num_pixel_row, num_pixel_column, num_bright, pixel_data);

			printf("\n");
		}
		
		else if(num_menu == 4)													//변환된 Image data 출력
		{
			for(int i = 0;i < num_pixel_row;i++)
			{
				for(int j = 0;j < num_pixel_column;j++) 
				{
					printf("%d ", pixel_data[i][j]);
				}
				printf("\n");
			}

			printf("\n");
		}

		else if(num_menu == 5)													//프로그램 종료
		{
			break;
		}

		else															//예외 처리
		{
			continue;
		}
	}

	

	return 0;
}