디시인사이드 갤러리

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

갤러리 본문 영역

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

거의다됨(121.157) 2012.02.15 21:17:43
조회 73 추천 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 - -
이슈 [디시人터뷰] 충무로가 주목하는 신예, '세계의 주인' 서수빈 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
303703 어제 매트랩 물어본 햏 보셈. [2] 나야 나갤로그로 이동합니다. 12.02.18 81 0
303698 잘자 [2] 복룡갤로그로 이동합니다. 12.02.18 76 0
303697 씨발 이제 잘수있다! 모미지갤로그로 이동합니다. 12.02.18 63 0
303695 컴공 지인에게 춫현 홍근성갤로그로 이동합니다. 12.02.18 79 0
303694 형들좀 급한건데,,, 코딩하고싶어(121.186) 12.02.18 59 0
303693 안드로이드 질문좀 드리겠ㅆ습니다 [1] 구찌윤아갤로그로 이동합니다. 12.02.18 180 0
303692 엄청난 프로그램을 만들고싶다 [4] 미친놈처럼살자갤로그로 이동합니다. 12.02.18 174 0
303691 퇴갤. [2] ㅇㅇㅎ(110.47) 12.02.18 68 0
303690 자바로 코딩하다보면 델리게이트가 없다는게 참 답답함 공돌이대장갤로그로 이동합니다. 12.02.18 104 0
303689 비주얼스튜디오로 자바도할수있나여 [2] s(58.75) 12.02.18 99 0
303688 학교에서 자바,C,C# 튜터나 해볼까나... [1] 공돌이대장갤로그로 이동합니다. 12.02.18 119 0
303687 애니찡? [1] 복룡갤로그로 이동합니다. 12.02.18 73 0
303686 삼차원 배열 포인터 이거 맞음? [4] 모미지갤로그로 이동합니다. 12.02.18 149 0
303685 등이 가려운데 긁어줄 사람이 없네 [1] s(58.75) 12.02.18 55 0
303684 프갤의 글리젠률을위하여...! [1] 복룡갤로그로 이동합니다. 12.02.18 57 0
303683 12시예여 [1] ㅇㅇㅎ(110.47) 12.02.18 39 1
303682 자바의 정석 주문했는데 거 괜찮음? [6] s(58.75) 12.02.17 157 0
303680 으 글이 안올라오니까 내가 다 답답하네 [2] ㅇㅇㅎ(110.47) 12.02.17 66 0
303679 고생하는 프로그래밍 횽들 프로그래밍좀 배우고싶은데 추천좀해줘용 [1] 마케터(114.205) 12.02.17 108 0
303677 해킹 보안에 관심있는데.. [3] 농구킹갤로그로 이동합니다. 12.02.17 105 0
303675 진로상담, 고충상담, GIS.JABA 관련... 키르아(211.226) 12.02.17 51 0
303673 와 처음이런곳에다 글을써봅니다 [8] 처음(49.50) 12.02.17 128 0
303672 최근에 면접을 봤는데 궁금한게 생김! [1] SavageCat갤로그로 이동합니다. 12.02.17 96 0
303669 프로세스 자세히 보는 툴 이름좀 [3] zl존망치꼳휴&gt;_&.갤로그로 이동합니다. 12.02.17 56 0
303668 ㅉㅃ 나 svchost.exe 백도어라고 계속 잡히는데 어캐요ㅠㅠ zl존망치꼳휴&gt;_&.갤로그로 이동합니다. 12.02.17 26 0
303667 좋아~ 아주 좋아~ 이거 무슨 유행어임? [1] (58.75) 12.02.17 89 0
303666 10시에여 [2] ㅇㅇㅎ(110.47) 12.02.17 57 0
303665 탄력적 근무제인 횽들 있어? [1] 우라우라(122.254) 12.02.17 1894 0
303663 디시어플 복룡갤로그로 이동합니다. 12.02.17 53 1
303662 국비지원 학원 다닐려는데 둘중 어느 과정이 좋을까요? 굽신굽신. [8] 국비(122.254) 12.02.17 308 0
303661 구객 [2] 궈댕(58.233) 12.02.17 34 0
303660 잠잘때 양말고 [4] 복룡갤로그로 이동합니다. 12.02.17 70 0
303659 정규표현식 비용이 비싼편인가요? [6] ㅁㄴ(220.67) 12.02.17 111 0
303658 초짜에게 고수가... 공부법점 춫현해주쎄요 [3] (58.75) 12.02.17 86 0
303657 이클립스에서 안드로이드하고이썻는데 이런오류가.. [3] 구찌윤아갤로그로 이동합니다. 12.02.17 60 0
303655 컴공 아싸되서 팀과제 피하는 수법 [5] [성대아싸]갤로그로 이동합니다. 12.02.17 233 0
303652 미안합니다 형들 질문하나만 할께요ㅜㅠ [7] 레알(222.113) 12.02.17 77 0
303650 아싸가뭐죠 [7] 복룡갤로그로 이동합니다. 12.02.17 80 0
303649 성대 아싸님! 노하우좀 전수해주세여 [7] 편입생(118.128) 12.02.17 122 0
303647 나의 첫 코딩으로 로또 번호 6개를 추출했다. [3] (58.75) 12.02.17 129 0
303645 밀어서 잠금해제 따위가 특허감이라니 씨발 [2] 호석갤로그로 이동합니다. 12.02.17 79 0
303644 팬티에똥쌋다 [5] 들럿갤로그로 이동합니다. 12.02.17 104 0
303643 Sleep물어본 횽아 봐바 [3] 생각놀이갤로그로 이동합니다. 12.02.17 53 0
303642 헐시발 이거 나만이런건가요? 디시 갤러리 메인에 프로그래밍이 사라졌어! [2] 헐시발(118.128) 12.02.17 66 0
303641 금딸일기-2일차 [1] ㅇㅇㅎ(110.47) 12.02.17 56 0
303640 오늘 면접 보고 온 후기 [1] 막장갤신학생갤로그로 이동합니다. 12.02.17 102 0
303639 전산실 괜찮나??? op dsad(121.161) 12.02.17 122 0
303638 length 질문점여 [2] (58.75) 12.02.17 42 0
303637 알파블렌딩이 동작 관련해서 질문이 있습니다~ Witch Doctor갤로그로 이동합니다. 12.02.17 59 0
303636 뉴비들이 읽어야 하는 글. [1] c(220.117) 12.02.17 94 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2