디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

C언어 배운지 한달 반된 쓰래기같은 프로그래머 구제좀 해주세여

sdfs(121.157) 2012.02.14 23:15:33
조회 144 추천 0 댓글 9

#include <stdio.h>
#include "BMP_header.h"
#include <malloc.h>
BMP_Header bmp_header;
void BMP_file_header_read (FILE *fp, BMP_Header * bmp_header)
{
 fread (&bmp_header->charB, sizeof (char), 1, fp);
 fread (&bmp_header->charM, sizeof (char), 1, fp);
 fread (&bmp_header->filesize, sizeof (unsigned int), 1, fp);
 fread (&bmp_header->reserved, sizeof (unsigned int), 1, fp);
 fread (&bmp_header->pixel_offset, sizeof (unsigned int), 1, fp);
 fread (&bmp_header->header_size, sizeof (unsigned int), 1, fp);
 fread (&bmp_header->image_width, sizeof (unsigned int), 1, fp);
 fread (&bmp_header->image_height, sizeof (unsigned int), 1, fp);
 fread (&bmp_header->number_of_planes_and_number_of_bits_per_pixel, 4, 1, fp);
 fread (&bmp_header->compression_type, sizeof (unsigned int), 1, fp);
 fread (&bmp_header->image_size_with_padding_in_bytes, sizeof (unsigned int), 1, fp);
 fread (&bmp_header->horizontal_resolution, sizeof (unsigned int), 1, fp);
 fread (&bmp_header->veritical_resolution, sizeof (unsigned int), 1, fp);
 fread (&bmp_header->number_of_colors, sizeof (unsigned int), 1, fp);
 fread (&bmp_header->number_of_important_colors, sizeof (unsigned int), 1, fp);
}
void BMP_file_header_write (FILE *wp, BMP_Header * bmp_header)
{
    fwrite (&bmp_header->charB, sizeof (char), 1, wp);
 fwrite (&bmp_header->charM, sizeof (char), 1, wp);
 fwrite (&bmp_header->filesize, sizeof (unsigned int), 1, wp);
 fwrite (&bmp_header->reserved, sizeof (unsigned int), 1, wp);
 fwrite (&bmp_header->pixel_offset, sizeof (unsigned int), 1, wp);
 fwrite (&bmp_header->header_size, sizeof (unsigned int), 1, wp);
 fwrite (&bmp_header->image_width, sizeof (unsigned int), 1, wp);
 fwrite (&bmp_header->image_height, sizeof (unsigned int), 1, wp);
 fwrite (&bmp_header->number_of_planes_and_number_of_bits_per_pixel, 4,
  1, wp);
 fwrite (&bmp_header->compression_type, sizeof (unsigned int), 1,
  wp);
 fwrite (&bmp_header->image_size_with_padding_in_bytes,
  sizeof (unsigned int), 1, wp);
 fwrite (&bmp_header->horizontal_resolution, sizeof (unsigned int),
  1, wp);
 fwrite (&bmp_header->veritical_resolution, sizeof (unsigned int),
  1, wp);
 fwrite (&bmp_header->number_of_colors, sizeof (unsigned int),
  1, wp);
 fwrite (&bmp_header->number_of_important_colors, sizeof (unsigned int),
  1, wp);
}
void change_color_BluetoZero (char * image_pixel_ptr,
 BMP_Header * bmp_header, FILE *fp)
{
fread (image_pixel_ptr,bmp_header->image_size_with_padding_in_bytes
 ,1,fp);
 
 
 // change the Blue part of each pixel to zero
 // first calculate the padding size
 unsigned int pure_number_of_bytes_per_one_line
  = bmp_header->image_width*3;
 unsigned int padding_size =
   (4 - (pure_number_of_bytes_per_one_line % 4)) %4;
  // (pure_number_of_bytes_per_one_line % 4);
 char *p = image_pixel_ptr;
 unsigned int one_line_width_with_padding
  = bmp_header->image_width*3 + padding_size;
for (unsigned int i = 0; i < bmp_header->image_height; i++)
for (unsigned int j = 0; j < bmp_header->image_width; j++)
{
int first_byte_postion_in_a_line = i * one_line_width_with_padding;

   image_pixel_ptr[first_byte_postion_in_a_line+(j*3)] =image_pixel_ptr[first_byte_postion_in_a_line+(j*3)] - 10;
}
 
 /*
 for (int i = 0; i < 10; i++) //bmp_header->image_height
  for (int j = 0; j < bmp_header->image_width; j++ )
  {
      int first_byte_postion_in_a_line =
    i*one_line_width_with_padding;
   image_pixel_ptr[first_byte_postion_in_a_line+(j*3)] =255;
   image_pixel_ptr[first_byte_postion_in_a_line+(j*2)] =0;
   image_pixel_ptr[first_byte_postion_in_a_line+(j)] =0;
  }
*/ 
}
int main (void)
{
 // first read a bitmap file
 FILE * fp = fopen ("D:\\Desert.bmp", "rb"); // file open
 BMP_file_header_read (fp, &bmp_header);
 // BMP header information completely read
 // now read the pixel information
 // first prepare memory for the pixel data
 // with image_size_with_padding_in_bytes
    char * image_pixel_ptr;
 image_pixel_ptr  = (char *)malloc(bmp_header.image_size_with_padding_in_bytes);
 change_color_BluetoZero (image_pixel_ptr, &bmp_header, fp);
 
 // write a new bitmap file
 FILE * wp = fopen ("D:\\Blue_changed_BMP2.bmp", "wb");
 BMP_file_header_write (wp, &bmp_header);
 fwrite (image_pixel_ptr, bmp_header.image_size_with_padding_in_bytes
  , 1, wp);
 fclose(fp);
 fclose(wp);
 free(image_pixel_ptr);
 
}


변수가 너무 길다거나 하는건 제발 무시해줘..

bmp 파일을 오픈해서 이것저것 해보는중인데

내가 성공한건 사진에서 원하는 색을 변경하는것까지..

이제 더 나아가 사진 좌우대칭을 바꾼다거나 상하를 돌려보고싶은데

이건 언어문제가 아니라 내가 돌머리라서 어떻게 짜야할지모르겠다.

대충 for문만 고치면 될거가튼데..

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
303464 너님들은 회사를 차린다면 이름 뭐라고 지을래.. [25] 쿄스케갤로그로 이동합니다. 12.02.16 149 0
303463 아스트라로테 는 봅니다. iljeomobolt갤로그로 이동합니다. 12.02.16 65 0
303460 형들 자바로 스크롤바좀 해줘 늅ㅂ늅늅ㅂ(203.237) 12.02.16 76 0
303457 뭐 이 정도면 잘생긴 편이지뭐... [1] ggg(221.143) 12.02.16 85 0
303453 SUID비트가 설정된 파일은 아무 프로세스나 수정할 수 있다??? 에이시아(203.90) 12.02.16 62 0
303449 클래스 공부하는데 짜증나는게 있네요 [15] 형들(124.51) 12.02.16 149 0
303448 아직도 무서워서 복귀 못하고있어.. 길에 헌병들 막 돌아다니고 [4] 돌고래스피커갤로그로 이동합니다. 12.02.16 107 0
303447 학교 컴퓨터실 구석에서 펜티엄3를 발견했어 [1] elwlwlwk갤로그로 이동합니다. 12.02.16 79 0
303445 마이플랫폼 안 좋음 ?? [3] 야요이갤로그로 이동합니다. 12.02.16 157 0
303444 듀얼 코어 그래픽카드 무 랩 3기가 게임 추천좀 [10] 올체갤로그로 이동합니다. 12.02.16 85 0
303440 근데 개심심 어떻게 됬지 ㅋㅋ 사장이랑 결판낸다고 한거 같은데.. [4] 쿄스케갤로그로 이동합니다. 12.02.16 105 0
303438 아!! 내가 델파이언이다!! [2] 스콴씌갤로그로 이동합니다. 12.02.16 83 0
303437 100~200명 정도가 쓸 홈페이지를 만드려면은 [4] 제쓰피(203.237) 12.02.16 95 0
303436 정규직이나 프리나 그렇게 돈받고 다니면서 [21] SFCFS갤로그로 이동합니다. 12.02.16 175 0
303433 짝 게이머 특집 그거 개구라임. ㅇㅇㅎ(211.246) 12.02.16 290 0
303431 티아라 골빈년들.. [3] 쿄스케갤로그로 이동합니다. 12.02.16 123 0
303430 연봉은 그냥 회사 차이 일지도 모름.. [5] SFCFS갤로그로 이동합니다. 12.02.16 133 0
303429 요즘도 소켓에 대해 가끔 모르는상황이 발생할때 보면 [6] NightWish갤로그로 이동합니다. 12.02.16 92 0
303428 횽들 뭣좀 하나 물어보자 [5] 스콴씌갤로그로 이동합니다. 12.02.16 65 0
303427 여기 분들은 왠지 제가 아는 분들이 말씀하시는거랑 조금 틀린 것 같습니다 [10] 할리의본링(61.43) 12.02.16 112 0
303424 페이스북 너무 짜증나. ㅠ.ㅠ [5] iljeomobolt갤로그로 이동합니다. 12.02.16 145 0
303423 이번 짝에 나온 남자 2호 경찰이라는데.. [1] 쿄스케갤로그로 이동합니다. 12.02.16 384 0
303421 자바 컴파일러 ANT 라고 알아? 내가 파로스... [1] 안트(183.1) 12.02.16 142 0
303419 비트학원 오늘부터 다니는대 [6] ㅇㅇ갤로그로 이동합니다. 12.02.16 267 0
303417 엔지너어 중에 제일 불쌍한 색이가 이거아님? 올체갤로그로 이동합니다. 12.02.16 94 0
303416 깨있으면 질문 하나만 할게요 [9] 개구리래머갤로그로 이동합니다. 12.02.16 89 0
303413 와 진짜 대학은 꼭 나와야 되겠다 [2] 1(211.197) 12.02.16 266 0
303412 it쪽이 연봉이 유달리 낮은건가여 [6] 풀개미'ㅅ'갤로그로 이동합니다. 12.02.16 220 0
303411 네트워크쪽으로 공부하려는데 어떤 순서로 하는거 좋져 [2] Reki_갤로그로 이동합니다. 12.02.16 93 0
303410 별창터는툴좀 공유....ㅜ 잠1지가야망육덕갤로그로 이동합니다. 12.02.16 93 0
303409 횽들 it업계횽들 많이 모이는 사이트가 어디에여 [2] 풀개미'ㅅ'갤로그로 이동합니다. 12.02.16 91 0
303406 저..저기... 다정하게.. 알려..알려주... [15] 코딩...?갤로그로 이동합니다. 12.02.16 176 0
303404 현재 나의 롤모델들.jpg [1] ㅇㅇㅎ(110.47) 12.02.16 216 0
303403 더블릿 하루만에 문제 푼거 [3] 공돌이대장갤로그로 이동합니다. 12.02.16 173 0
303402 진짜 나이 먹고 놀기만 한그 같아 반성 ㅠㅠ 낼부터 열공해야지. [2] 겨울달력갤로그로 이동합니다. 12.02.15 75 0
303401 채용공고 났다 ㅋ [4] (58.75) 12.02.15 146 0
303400 횽들 급한질문좀 급함니다 hcl이 뭔가여??? [6] 겨울달력갤로그로 이동합니다. 12.02.15 73 0
303399 갑자기 이클립스가 존나 느려졌어 [1] (58.75) 12.02.15 54 0
303397 다층신경망 짜기는 했는데, 역전파 학습이 헬이다... [1] 생각놀이갤로그로 이동합니다. 12.02.15 138 0
303396 게임개발자 채용사이트 보니깐 아무개(220.126) 12.02.15 194 0
303394 참고로 넥슨 게임프로그래머 채용공고 [2] 아무개(220.126) 12.02.15 238 1
303393 아무개형 이게 맞는지 모르겠는데 예전에 찍은 댓글 [7] Aven갤로그로 이동합니다. 12.02.15 109 0
303392 형들 [2] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.02.15 53 0
303391 넥슨 고졸입사 가능하냐2 [12] 아무개(220.126) 12.02.15 1367 0
303390 요즘 병특추세가 전부 모바일이네.. 흐허허허.. [6] Aven갤로그로 이동합니다. 12.02.15 126 0
303388 C++ 동적할당 질문좀... [10] SODMaster갤로그로 이동합니다. 12.02.15 116 0
303387 액션스크립트 질문 ㅠ 김태희남편갤로그로 이동합니다. 12.02.15 29 0
303386 정통부에 대한 개인적인 생각 [1] 싴보이갤로그로 이동합니다. 12.02.15 73 0
303385 파이선 공부 [7] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.02.15 131 0
303384 앱개발자 월급과 기간협의대해서 궁금점을 올립니다. [6] 카오드림드(1.237) 12.02.15 134 1
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2