디시인사이드 갤러리

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

갤러리 본문 영역

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

거의다됨(121.157) 2012.02.15 21:17:43
조회 76 추천 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 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
303772 취업할때 학벌이 중요한가? 동닉(211.246) 12.02.18 69 0
303771 지금 플렉스 + 서블릭 하고 있는데 아오 5시간째 안되 ㅜㅜ [1] 좋은아버지갤로그로 이동합니다. 12.02.18 53 0
303770 게임에 조합같은거 이런거 공략은 어케 쓰는거지 [3] 길가던놈갤로그로 이동합니다. 12.02.18 55 0
303769 성적매기기 EE [2] 나다라마법사(221.142) 12.02.18 60 0
303767 8시이! [4] ㅇㅇㅎ(110.47) 12.02.18 41 0
303766 뉴런을 만들어야 겠어! [4] elwlwlwk갤로그로 이동합니다. 12.02.18 57 0
303763 배고파ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ [1] 모미지갤로그로 이동합니다. 12.02.18 44 0
303762 ㅇㅇㅎ님은 복룡갤로그로 이동합니다. 12.02.18 25 0
303761 쿄스케 있나?? 통맥갤로그로 이동합니다. 12.02.18 33 0
303760 프로그래밍 책이 꼭 필요하나요? [11] 헤케갤로그로 이동합니다. 12.02.18 127 0
303759 7시4분요! [3] ㅇㅇㅎ(110.47) 12.02.18 34 0
303758 파일 포인터 말인데 [5] 모미지갤로그로 이동합니다. 12.02.18 61 0
303757 프갤형들은 착한표 먹겅 [5] 좌파척결앞잡이갤로그로 이동합니다. 12.02.18 67 0
303756 에휴... 나 이번에 학교가서 독서실에 박혀 있어서 프로그래밍 책 [10] 좌파척결앞잡이갤로그로 이동합니다. 12.02.18 145 0
303755 혹시 C++ 책 테크트리가 있는 거임? [2] 좌파척결앞잡이갤로그로 이동합니다. 12.02.18 173 0
303753 횽아들 C++ 교재는 어떤 것이 개 좋나요? [2] 좌파척결앞잡이갤로그로 이동합니다. 12.02.18 158 0
303752 디씨갤러리 챗 이거다 어디갓어 어디갓어ㅇㅇ 데헷(220.86) 12.02.18 36 0
303751 6시9분이닷 [1] ㅇㅇㅎ(110.47) 12.02.18 36 0
303749 6시는 6시66분에 못하는데 몇분에 알람해야함 [2] ㅇㅇㅎ(110.47) 12.02.18 44 0
303748 5시55분이다애니! [2] ㅇㅇㅎ(110.47) 12.02.18 42 0
303747 규식이 형이랑 친하신 분 찾습니다. [14] dot(125.128) 12.02.18 90 0
303746 그런데 진짜 기가막히게 돌아가는 던파 강화핵 이런 거 만들면 [6] ㅇㅇ(220.87) 12.02.18 140 0
303745 C언어 개뉴비인데.. [11] fdfsddf(110.13) 12.02.18 127 0
303744 핵만들어주실분 [2] 복룡갤로그로 이동합니다. 12.02.18 85 0
303743 서든 핵 만들어주실 분 없나요?? 급하게 찾습니다. [18] ㅇㅇㅇ(58.77) 12.02.18 158 0
303742 자바 개발자 컨퍼런스, 12살 맞기까지 ㅇㅇ(210.113) 12.02.18 67 0
303741 국비교육 휴학생도 할수있서? [5] 미친놈처럼살자갤로그로 이동합니다. 12.02.18 157 0
303740 정보보안갤러리를 만들면! [6] 복룡갤로그로 이동합니다. 12.02.18 89 0
303739 열린 계를 만드는 방법을 생각해 봤는데 [9] 나다라마법사(221.142) 12.02.18 90 0
303738 형들 질문이있또 [3] ㅇㅇ갤로그로 이동합니다. 12.02.18 38 0
303737 4시44분이예요! [5] ㅇㅇㅎ(110.47) 12.02.18 58 0
303736 구조체 포인터 접근 [15] ㅇㅇ(119.71) 12.02.18 192 0
303735 이번학기 시간표 어케 짜도 심하게 엿같다... [2] 길가던놈갤로그로 이동합니다. 12.02.18 52 0
303734 횽들 페도라 11 설치하는데 왜 안되지? [2] 어렵다(68.146) 12.02.18 91 0
303733 API정복 책 괜히 산건가 [15] 1(211.197) 12.02.18 184 0
303732 api공부중인데 첫번째 예제 부터 에러 떠요 [3] 1(211.197) 12.02.18 101 0
303731 3시임! [3] ㅇㅇㅎ(110.47) 12.02.18 53 0
303730 마구잡이로 만드는 단층 퍼셉트론 [3] 생각놀이갤로그로 이동합니다. 12.02.18 572 3
303729 프밍갤에 보안관련 분야에 [2] 복룡갤로그로 이동합니다. 12.02.18 85 0
303728 도서관에서 빌려온 책이!! [4] elwlwlwk갤로그로 이동합니다. 12.02.18 101 0
303727 2시예염 [2] ㅇㅇㅎ(110.47) 12.02.18 62 0
303726 유닉스 계열 UI도 메시지 기반임? [2] 나다라마법사(221.142) 12.02.18 78 0
303725 형들 학교에서 java관련 si 회사 추천해줬는데 어캐하나여? [4] 알려줘형들(123.109) 12.02.18 176 0
303724 키보드에 손 때 뭘로 닦어?? [4] 현지권(115.21) 12.02.18 76 0
303722 요즘 현업(서버관리)에서는 리눅스 x-windows 사용 자제하나요? [4] 궁금한뉴비(119.205) 12.02.18 130 0
303721 내칭구해킹실력평가점 [12] IMhouse갤로그로 이동합니다. 12.02.18 248 0
303720 휴학하고 일 시작했어... 모바일쪽인데. [5] 통맥갤로그로 이동합니다. 12.02.18 101 0
303717 컴퓨터과학과와 컴퓨터공학과 무슨차이인가요? [3] 헤케갤로그로 이동합니다. 12.02.18 176 0
303716 신경망 이론 공부하기 위해 [1] elwlwlwk갤로그로 이동합니다. 12.02.18 109 0
303714 점심시간이예요. [2] ㅇㅇㅎ(110.47) 12.02.18 51 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2