디시인사이드 갤러리

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

갤러리 본문 영역

와 프갤성님들 거의다 해결했는데 조금만 더 도와줘요

거의다됨(121.157) 2012.02.15 21:17:43
조회 71 추천 0 댓글 6

상하 반전하는 프로그램 거의 다 짬..

컴파일 에러가 안뜨는데

 

실행 종료되는게 문제ㅠㅠㅠ

내가 오늘 고민해서 포인터 배열을 두개를 만든담에

pixel_ptr 을 거꾸로 수행할 p배열을 만들어봤는데..

대충 이렇게 하는게 맞을려나? 아무튼 보기힘들고 병신같은거 나도알아..


실행만 되게 도와줘




#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->width, sizeof (unsigned int), 1, fp);
fread (&bmp_header->height, sizeof (unsigned int), 1, fp);
fread (&bmp_header->planes_n_and_bits_per_pixel_n, 4, 1, fp);
fread (&bmp_header->c_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->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->width, sizeof (unsigned int), 1, wp);
fwrite (&bmp_header->height, sizeof (unsigned int), 1, wp);
fwrite (&bmp_header->planes_n_and_bits_per_pixel_n, 4,1, wp);
fwrite (&bmp_header->c_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->important_colors, sizeof (unsigned int),1, wp);
}


char *p=(char *)malloc(bmp_header.image_size_with_padding_in_bytes);
 


void image_flip (char*pixel_ptr, BMP_Header * bmp_header, FILE *fp){
 
 fread (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_line = bmp_header->width*3;

 unsigned int padding_size = (4 - (pure_number_of_bytes_per_line % 4)) %4;


   // (pure_number_of_bytes_per_line % 4);

 unsigned int one_line_width_with_padding = bmp_header->width*3 + padding_size;

 for (unsigned int i = 0; i < bmp_header->height; i++)

  for (unsigned int j = 0; j < bmp_header->width; j++){
  int first_byte_postion_in_a_line = i * one_line_width_with_padding;
   
  p[bmp_header->height-1-i]=pixel_ptr[i];
  }


     /*
     for (int i = 0; i < 10; i++) //bmp_header->height
     for (int j = 0; j < bmp_header->width; j++ )
     {
     int first_byte_postion_in_a_line =
     i*one_line_width_with_padding;
     pixel_ptr[first_byte_postion_in_a_line+(j*3)] =255;
     pixel_ptr[first_byte_postion_in_a_line+(j*2)] =0;
     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 * pixel_ptr;
 pixel_ptr  = (char *)malloc(bmp_header.image_size_with_padding_in_bytes);
 
 image_flip (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 (p, bmp_header.image_size_with_padding_in_bytes,1, wp);

 fclose(fp);

 fclose(wp);

 free(pixel_ptr);
 
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
303474 물가가 무지하게 올랐다. 만원 한장으로 사먹을께 별로 없을 정도다. [5] 서현빠돌이갤로그로 이동합니다. 12.02.16 81 0
303473 다들 얼마씩받으면서 무슨일 하면서 삼? [10] lucy_han갤로그로 이동합니다. 12.02.16 162 0
303472 아웅 졸립다. [3] 서현빠돌이갤로그로 이동합니다. 12.02.16 51 0
303469 오랜만에 친히 플밍을 하려 하는데 C++ 때문에 짜증이 확 밀려오네... [15] 바보플머(222.121) 12.02.16 146 0
303468 초봉 삼천에 도전하고싶냐? [1] ☎v2.0™갤로그로 이동합니다. 12.02.16 134 0
303466 프갤에 중2병 환자가 한명 있다. 야요이갤로그로 이동합니다. 12.02.16 84 0
303464 너님들은 회사를 차린다면 이름 뭐라고 지을래.. [25] 쿄스케갤로그로 이동합니다. 12.02.16 144 0
303463 아스트라로테 는 봅니다. iljeomobolt갤로그로 이동합니다. 12.02.16 58 0
303460 형들 자바로 스크롤바좀 해줘 늅ㅂ늅늅ㅂ(203.237) 12.02.16 70 0
303457 뭐 이 정도면 잘생긴 편이지뭐... [1] ggg(221.143) 12.02.16 82 0
303453 SUID비트가 설정된 파일은 아무 프로세스나 수정할 수 있다??? 에이시아(203.90) 12.02.16 59 0
303449 클래스 공부하는데 짜증나는게 있네요 [15] 형들(124.51) 12.02.16 142 0
303448 아직도 무서워서 복귀 못하고있어.. 길에 헌병들 막 돌아다니고 [4] 돌고래스피커갤로그로 이동합니다. 12.02.16 103 0
303447 학교 컴퓨터실 구석에서 펜티엄3를 발견했어 [1] elwlwlwk갤로그로 이동합니다. 12.02.16 73 0
303445 마이플랫폼 안 좋음 ?? [3] 야요이갤로그로 이동합니다. 12.02.16 151 0
303444 듀얼 코어 그래픽카드 무 랩 3기가 게임 추천좀 [10] 올체갤로그로 이동합니다. 12.02.16 83 0
303440 근데 개심심 어떻게 됬지 ㅋㅋ 사장이랑 결판낸다고 한거 같은데.. [4] 쿄스케갤로그로 이동합니다. 12.02.16 100 0
303438 아!! 내가 델파이언이다!! [2] 스콴씌갤로그로 이동합니다. 12.02.16 79 0
303437 100~200명 정도가 쓸 홈페이지를 만드려면은 [4] 제쓰피(203.237) 12.02.16 91 0
303436 정규직이나 프리나 그렇게 돈받고 다니면서 [21] SFCFS갤로그로 이동합니다. 12.02.16 173 0
303433 짝 게이머 특집 그거 개구라임. ㅇㅇㅎ(211.246) 12.02.16 284 0
303431 티아라 골빈년들.. [3] 쿄스케갤로그로 이동합니다. 12.02.16 119 0
303430 연봉은 그냥 회사 차이 일지도 모름.. [5] SFCFS갤로그로 이동합니다. 12.02.16 129 0
303429 요즘도 소켓에 대해 가끔 모르는상황이 발생할때 보면 [6] NightWish갤로그로 이동합니다. 12.02.16 88 0
303428 횽들 뭣좀 하나 물어보자 [5] 스콴씌갤로그로 이동합니다. 12.02.16 60 0
303427 여기 분들은 왠지 제가 아는 분들이 말씀하시는거랑 조금 틀린 것 같습니다 [10] 할리의본링(61.43) 12.02.16 110 0
303424 페이스북 너무 짜증나. ㅠ.ㅠ [5] iljeomobolt갤로그로 이동합니다. 12.02.16 141 0
303423 이번 짝에 나온 남자 2호 경찰이라는데.. [1] 쿄스케갤로그로 이동합니다. 12.02.16 380 0
303421 자바 컴파일러 ANT 라고 알아? 내가 파로스... [1] 안트(183.1) 12.02.16 140 0
303419 비트학원 오늘부터 다니는대 [6] ㅇㅇ갤로그로 이동합니다. 12.02.16 261 0
303417 엔지너어 중에 제일 불쌍한 색이가 이거아님? 올체갤로그로 이동합니다. 12.02.16 91 0
303416 깨있으면 질문 하나만 할게요 [9] 개구리래머갤로그로 이동합니다. 12.02.16 87 0
303413 와 진짜 대학은 꼭 나와야 되겠다 [2] 1(211.197) 12.02.16 264 0
303412 it쪽이 연봉이 유달리 낮은건가여 [6] 풀개미'ㅅ'갤로그로 이동합니다. 12.02.16 219 0
303411 네트워크쪽으로 공부하려는데 어떤 순서로 하는거 좋져 [2] Reki_갤로그로 이동합니다. 12.02.16 91 0
303410 별창터는툴좀 공유....ㅜ 잠1지가야망육덕갤로그로 이동합니다. 12.02.16 92 0
303409 횽들 it업계횽들 많이 모이는 사이트가 어디에여 [2] 풀개미'ㅅ'갤로그로 이동합니다. 12.02.16 90 0
303406 저..저기... 다정하게.. 알려..알려주... [15] 코딩...?갤로그로 이동합니다. 12.02.16 175 0
303404 현재 나의 롤모델들.jpg [1] ㅇㅇㅎ(110.47) 12.02.16 213 0
303403 더블릿 하루만에 문제 푼거 [3] 공돌이대장갤로그로 이동합니다. 12.02.16 170 0
303402 진짜 나이 먹고 놀기만 한그 같아 반성 ㅠㅠ 낼부터 열공해야지. [2] 겨울달력갤로그로 이동합니다. 12.02.15 72 0
303401 채용공고 났다 ㅋ [4] (58.75) 12.02.15 146 0
303400 횽들 급한질문좀 급함니다 hcl이 뭔가여??? [6] 겨울달력갤로그로 이동합니다. 12.02.15 69 0
303399 갑자기 이클립스가 존나 느려졌어 [1] (58.75) 12.02.15 47 0
303397 다층신경망 짜기는 했는데, 역전파 학습이 헬이다... [1] 생각놀이갤로그로 이동합니다. 12.02.15 132 0
303396 게임개발자 채용사이트 보니깐 아무개(220.126) 12.02.15 190 0
303394 참고로 넥슨 게임프로그래머 채용공고 [2] 아무개(220.126) 12.02.15 238 1
303393 아무개형 이게 맞는지 모르겠는데 예전에 찍은 댓글 [7] Aven갤로그로 이동합니다. 12.02.15 109 0
303392 형들 [2] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.02.15 49 0
303391 넥슨 고졸입사 가능하냐2 [12] 아무개(220.126) 12.02.15 1365 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2