디시인사이드 갤러리

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

갤러리 본문 영역

누가 Flip 구현좀 해줘 제발제발제발 ㅠㅠㅠ

제발(121.157) 2012.02.15 13:53:31
조회 76 추천 0 댓글 4

어제 오후부터 지금까지 계속 어떻게 구현할까 생각만하고 진짜 손도못댐 ㅠㅠㅠ

진짜 미치기 3초전임

포문이랑 그 주위에 있는걸 이용해서 이미지 상하든 좌우든 상관없으니 제발 누가

구현좀 해줘  ( 주석안에 있는건 사진에서 파란색요소를 없애는겅)


#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);
}

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);

 char *p = pixel_ptr;


 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;
  

  
  }
 
     /*
     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;
 char * changed_img;
 pixel_ptr  = (char *)malloc(bmp_header.image_size_with_padding_in_bytes);
 changed_img  = (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 (pixel_ptr, bmp_header.image_size_with_padding_in_bytes,1, wp);

 fclose(fp);

 fclose(wp);

 free(pixel_ptr);
 
}

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 대박 날 것 같아서 내 꿈에 나와줬으면 하는 스타는? 운영자 25/11/17 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
303306 oh....yeah.... 난쟁이오크갤로그로 이동합니다. 12.02.15 47 0
303301 난 프로그래밍을 하면서 신을 믿게 됐어 [2] 싸이의홈스틸갤로그로 이동합니다. 12.02.15 92 0
303300 1년 경력으로 연봉 3000 바라면 뺨 맞음? [11] 이직(58.151) 12.02.15 266 0
303299 횽들 질문 하나만 더 할께 ㅜㅜ 너무 황당해서 [6] ㅁㄴㅇㄹ(168.115) 12.02.15 62 0
303297 네이버 웬만한 블로그 다 뒤져도 안된다 ㅠㅠ [2] (58.75) 12.02.15 98 0
303295 이클립스 어젠 잘되더니 개색..ㅡㅡ [1] (58.75) 12.02.15 73 0
303291 신경망 구현할 줄 알면 뭐가 좋음? [3] 생각놀이갤로그로 이동합니다. 12.02.15 103 0
303289 공돌이는 이런거 보면 꼴림? [4] se1xman(110.47) 12.02.15 175 0
303287 느어렇어ㅜㄷㅎㅁ [3] 들럿갤로그로 이동합니다. 12.02.15 73 0
303286 프로그래밍 ebook 뭐 볼만한거 없음? [1] 공돌이대장갤로그로 이동합니다. 12.02.15 82 0
303281 비타 삼 y녀6디리(14.63) 12.02.15 50 0
303278 금딸 알고리즘 [1] 싸이의홈스틸갤로그로 이동합니다. 12.02.15 117 0
303276 여자 여자갤러있음? [4] (58.75) 12.02.15 83 0
303273 여기 성님들은 왜이렇게 착하심? [1] 싸이의홈스틸갤로그로 이동합니다. 12.02.15 88 0
303272 횽들 USB로 리눅스 부팅 [1] goding(221.143) 12.02.15 108 0
303270 와 어제 12학번 패기에 지릴뻔했어 나리링갤로그로 이동합니다. 12.02.15 157 0
303268 엘가드라는 맛폰겜 해본 형있음? 길가던놈갤로그로 이동합니다. 12.02.15 32 0
303266 엔씨소프트, 엔트리브소프트 인수 [1] ㅇㅇ(210.113) 12.02.15 68 0
303265 개발 5년차.. 적정연봉..얼마 받으면 될까? 역시천재갤로그로 이동합니다. 12.02.15 151 0
303264 임베 리눅 장비제어 유저랜드 프로그램으로 안 하나? [3] dot(125.128) 12.02.15 59 0
303263 요즘 닷넷 시장 어때? [1] 공돌이대장갤로그로 이동합니다. 12.02.15 107 0
303262 뭘 싸우고 있냐 리눅스든 윈도우든 편한거 쓰면 되지 [2] kukyakya(143.248) 12.02.15 68 0
303261 망고210보드 임베디드 관련 질문 (2) Brad(203.250) 12.02.15 62 0
303260 리눅스를 왜 쓰는가에 대한 고찰 [2] y녀6디리(175.253) 12.02.15 111 0
303259 망고210보드 임베디드 관련 질문 [10] Brad(203.250) 12.02.15 2458 0
누가 Flip 구현좀 해줘 제발제발제발 ㅠㅠㅠ [4] 제발(121.157) 12.02.15 76 0
303257 자바스크립트 좀 봐줭 [2] ㅁㄴㅇㄹ(168.115) 12.02.15 67 0
303256 리눅스와 ms를 나누는건 라이센스 비용 딱 하나 만 봐도 [1] 올체갤로그로 이동합니다. 12.02.15 102 0
303254 (리눅스)프로세스의 실제사용자가 유효사용자와 다른 경우는 언제야??? 에이시아(203.90) 12.02.15 52 0
303253 운동선수들 도박 이모군(175.114) 12.02.15 60 0
303252 서버프로그래밍 중인데 DB관련해서 질문좀 할게요. [5] SODMaster갤로그로 이동합니다. 12.02.15 90 0
303250 메모장만드는데 질문좀.. [2] 늅늅(203.237) 12.02.15 81 0
303249 리눅스를 사용해서 제대로된 개발을 해봤어야 리눅스의 참맛을알지.. [4] 씨발라드세요갤로그로 이동합니다. 12.02.15 140 0
303248 gui vs cui [3] 서현빠돌이갤로그로 이동합니다. 12.02.15 111 0
303247 리눅스는 제대로 쓸려면 멀티 부팅 하면 안됨. ㅇㅇ [4] ☎v2.0™갤로그로 이동합니다. 12.02.15 108 0
303246 횽들아 서현이랑 사귀려면 어찌해야 하나여?? [2] 서현빠돌이갤로그로 이동합니다. 12.02.15 80 0
303245 예전에 hotmail에서 메일서버를 윈도아니고 프리비에스디썼다던데 ㄴㅇㄹ(112.136) 12.02.15 37 0
303244 맥은 BSD 계승한거져?? [1] [성대아싸]갤로그로 이동합니다. 12.02.15 79 0
303243 예전에 성능때문에 윈도우서버 안썼다지만 요새는 죄다 윈도서버 [1] ㄴㅇㄹ(112.136) 12.02.15 74 0
303242 리눅스를 쓰는데 x윈도우만 쓰면 변태인가염?? [1] 서현빠돌이갤로그로 이동합니다. 12.02.15 66 0
303241 BSD 계열 사용하다가 Linux 사용하면. ㅇㅇ ☎v2.0™갤로그로 이동합니다. 12.02.15 76 0
303240 밥은 먹고 겔질 하는거냐??? 서현빠돌이갤로그로 이동합니다. 12.02.15 45 0
303239 리눅스 머하러 쓰냐. 프리비에스디가 있는데 [1] ㄴㅇㄹ(112.136) 12.02.15 91 0
303238 리눅스 쓰는 애들 보면 대부분 윈도우 멀티부팅함 ㅋㅋ [8] ㅇㅇㅇ(58.77) 12.02.15 255 0
303237 으헝.. 도와주세염 ㅠㅠ [5] 코딩...?갤로그로 이동합니다. 12.02.15 53 0
303235 [떡밥] 횽들 심심한데 스도쿠 만드는 코드 짜봐용.ㅋㅋㅋ [3] 생물학(122.35) 12.02.15 94 0
303234 솔직히 리눅스 왜쓰냐? [9] ㅇㅇㅇ(58.77) 12.02.15 141 0
303233 성다아싸 소환 [5] C_Perl갤로그로 이동합니다. 12.02.15 62 0
303231 수학공부좀 기초부터 다시하고싶은데요.. 봉크라이시스갤로그로 이동합니다. 12.02.15 58 0
303230 내가 예전에 말이지 생물학(122.35) 12.02.15 37 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2