디시인사이드 갤러리

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

갤러리 본문 영역

프갤러들아 빨리 bmp크기조절하는 법좀 알려줘

이세상끝에서갤로그로 이동합니다. 2011.11.14 20:07:18
조회 98 추천 0 댓글 7

#include <windows.h>   
#include <io.h>   //오픈을 이용해서 파일을 열기 위해 사용
#include <fcntl.h>   //오픈을 이용해서 파일을 열기 위해 사용
#include "resource.h"   
  
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);   
HINSTANCE g_hInst;   
LPCTSTR lpszClass=TEXT("Img Viewer");   
  
#pragma pack(1)   
typedef struct BITHEADER   // 파일 헤더 구조체 선언
{   
    WORD bfType;   
    DWORD bfsize;   
    WORD bfReserve1;   
    WORD bfReserve2;   
    DWORD bfOffset;   
}BITHEADER;   
  
typedef struct BITINFOHEADER   // 영상 헤더 구조체 선언 
{   
    DWORD biSize;   //헤더크기
    LONG biWidth;   //폭
    LONG biHeight;   //높이
    WORD biPlanes;   
    WORD biBitCount;   
    DWORD biCompression;   
    DWORD biSizeImage;   
    LONG biXPelsPerMeter;   
    long biYPelsPerMeter;   
    DWORD biClrUsed;   
    DWORD biClrImportant;   
}BITINFOHEADER;   
 
  
  
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,   
                     LPSTR lpszCmdParam, int nCmdShow)   
{   
    HWND hWnd;   
    MSG Message;   
    WNDCLASS WndClass;   
    g_hInst=hInstance;   
       
    WndClass.cbClsExtra=0;   
    WndClass.cbWndExtra=0;   
    WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);   
    WndClass.hCursor=LoadCursor(NULL, IDC_ARROW);   
    WndClass.hIcon=LoadIcon(NULL, IDI_APPLICATION);   
    WndClass.hInstance=hInstance;   
    WndClass.lpfnWndProc=WndProc;   
    WndClass.lpszClassName=lpszClass;   
    WndClass.lpszMenuName=MAKEINTRESOURCE(IDR_MENU1);   
    WndClass.style=CS_HREDRAW|CS_VREDRAW;   
    RegisterClass(&WndClass);   
       
    hWnd=CreateWindow(lpszClass, lpszClass, WS_OVERLAPPEDWINDOW,   
        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,   
        NULL, (HMENU)NULL, hInstance, NULL);   
    ShowWindow(hWnd, nCmdShow);   
       
    while(GetMessage(&Message, NULL, 0, 0))   
    {   
        TranslateMessage(&Message);   
        DispatchMessage(&Message);   
    }   
    return (int)Message.wParam;   
}   
  
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)   
{   
    HDC hdc;        
    int fd, x, y;   
    PAINTSTRUCT ps;   
    OPENFILENAME OFN;   
    TCHAR str[300];   
    TCHAR buffer[300];   
    TCHAR dummy[3];   
    TCHAR lpstrFile[MAX_PATH] = "";   
    BITHEADER BitHeadr;   
    BITINFOHEADER BitInfo;   
    COLORREF color = RGB(0, 0, 0);   
  
    switch(iMessage)   
    {   
    case WM_COMMAND:   
        switch(LOWORD(wParam))   
        {  
        case ID_FILEOPEN:   
            memset(&OFN, 0, sizeof(OPENFILENAME));   
            OFN.lStructSize = sizeof(OPENFILENAME);   
            OFN.hwndOwner = hWnd;   
            OFN.lpstrFilter = TEXT("모든 파일(*.*)\\0*.*\\0비트맵(*.bmp)\\0*.bmp\\0JPG(*.jpg)\\0*.jpg\\0");   
            OFN.lpstrFile = lpstrFile;   
            OFN.nMaxFile = MAX_PATH;   
  
            if(GetOpenFileName(&OFN) == 0)   
            {   
                return 0;   
            }   
            fd = open(OFN.lpstrFile, O_RDONLY);              
               
            read(fd, buffer, sizeof(BitHeadr));   
            memcpy(&BitHeadr, buffer, sizeof(BitHeadr));   
            lseek(fd, 0, SEEK_CUR);   
            read(fd, buffer, sizeof(BitInfo));   
            memcpy(&BitInfo, buffer, sizeof(BitInfo));     
            lseek(fd, BitHeadr.bfOffset, SEEK_SET);    //비트맵 데이터 시작지점으로 이동
               
            hdc = GetDC(hWnd);
                        
           
           if(BitInfo.biWidth)       
            {  
                for(y = BitInfo.biHeight; y >0; y--)   
                {   
                    for(x = 0; x < BitInfo.biWidth; x++)   
                    {   
                        read(fd, buffer, 3);   
                        color = RGB(buffer[2], buffer[1], buffer[0]);   
                        SetPixel(hdc, x, y, color);   
                        lseek(fd, 0, SEEK_CUR); 
                    }   
                }             
                    }
                   
               }
                
                
                


        return 0;   
                
    case WM_DESTROY:   
        PostQuitMessage(0);   
        return 0;   
    }   
    return(DefWindowProc(hWnd, iMessage, wParam, lParam));   
}  



256색 출력은 짐작조차 안가서 넘어가고
크기 조절이라도 좀 해보려고하는데 어떻게 해야하냐
저기 밑에 출력부분 가로랑 세로 2로 나눠서 출력해보니 색이랑그림이 병신 되더라고
어떻게 해야할지 감이안온다.
으아아아아 시발 좃같은 발표.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이제는 의미 없어진 것 같은 시상식은? 운영자 25/12/01 - -
AD 따뜻한 겨울나기! 방한용품 SALE 운영자 25/11/27 - -
288465 자바스크립트좀 보려는데 Aptana Studio 쓰는 사람? 괜찮은가? [3] 초딩6(59.13) 11.11.16 82 0
288463 이런 애들이 프로그램 짜면 잘짤거 같은데 [4] 쿄스케갤로그로 이동합니다. 11.11.16 317 0
288459 (조공)요기가 프로그래밍 책 추천하면 알려준다는 곳인가요? [1] dd(121.150) 11.11.16 296 0
288457 2시간 빠른 출근 [3] Dawnwalkre갤로그로 이동합니다. 11.11.16 137 0
288455 혹시 아직 안자는 형들있으면 교재추천좀 [5] 스노플갤로그로 이동합니다. 11.11.16 98 0
288454 으어 피곤하다 땡칠도사갤로그로 이동합니다. 11.11.16 57 0
288453 모듈프로그래밍과 이것이 먼지아는횽? [1] 뿌잉이(112.121) 11.11.16 118 0
288451 형들 나 좀 도와줘 [4] 원격(14.43) 11.11.16 65 0
288450 JDBC하는데 왜 한글이 안될까.. 충분히 검색함 [5] JDBC(121.136) 11.11.16 85 0
288449 D3DXCreateTextureFromFileEx 함수 [13] ㅈㅂㄷㅂㄷ(220.78) 11.11.16 163 0
288447 혹시 지금시간에 회사댕기는분있으셈? [1] mfc(112.186) 11.11.16 68 0
288446 아.........자바 진짜 미치겠어 횽들 이것 좀 한번 봐줘라 ㅠㅠ [15] 아자(211.237) 11.11.16 175 0
288444 증말 어렵다 아는사람 있나 [28] 증말(125.141) 11.11.16 188 0
288443 수정 해봤습니다. [26] 슈우과학갤로그로 이동합니다. 11.11.16 133 0
288440 자바스크립트 이거 문제 [7] ㅂㅈㄷ(175.201) 11.11.16 108 0
288438 엑스맨2에서 [2] ㄱㄱㄴ(183.102) 11.11.16 56 0
288437 프로그램 짜고 있는데 조금 도와주세요 [14] 슈우과학갤로그로 이동합니다. 11.11.16 136 0
288436 디스코 팡팡 이거 태스트좀 해봐라 [3] ㅁㄴㅇㄹ(115.137) 11.11.16 83 0
288435 횽들 파이썬책 이거 괜찮나여? ㅇ [8] ㅏㅎㅎ(59.13) 11.11.16 159 0
288434 Write once run anywhre [3] 박구갤로그로 이동합니다. 11.11.16 49 0
288432 정체가진짜궁금하다 三didas갤로그로 이동합니다. 11.11.16 64 0
288429 와...리플이 칠십개가넘어가네 三didas갤로그로 이동합니다. 11.11.16 65 0
288427 횽들 이거 잠시만 봐봐 [14] 디스코팡팡갤로그로 이동합니다. 11.11.16 131 0
288426 상황이 안좋은가 보다, 면접본 애들 줄줄이 취소됐네 이모군(175.114) 11.11.16 67 0
288425 세시간 반 넘게 달렸네 [9] 정수정•‿•갤로그로 이동합니다. 11.11.16 160 0
288424 학교가 좀 안좋아도 [1] LASTOR갤로그로 이동합니다. 11.11.16 58 0
288422 누가 C언어좀 도와줘 [2] 도와줘(168.115) 11.11.16 109 0
288421 stack질문좀..간단한거... [15] LASTOR갤로그로 이동합니다. 11.11.16 83 0
288420 포에양 이거 받아가세요 ^-^ [6] ㅁㄴㅇㄹ(115.137) 11.11.16 117 0
288419 숭컴 vs 동컴 솔직히 말해서..뭐가더 나을까요..? ? [22] ㅁㅁ(125.135) 11.11.16 1065 0
288418 횽들 자바 GUI 좀 알려줘여 [6] 스윙마베베(121.189) 11.11.16 95 0
288417 자기전에 눈 정화 막장갤신학생갤로그로 이동합니다. 11.11.16 71 0
288416 지금 싸우시는 분이 있는것 같은데 [3] 막장갤신학생갤로그로 이동합니다. 11.11.16 80 0
288415 오빠들 이것좀 도와줘영 ㅠ [11] 포에(210.91) 11.11.16 124 0
288414 glut 에서 마우스 휠 이벤ㅇ트는 어떻게 받는고징... [1] 뇌지랄갤로그로 이동합니다. 11.11.16 132 0
288413 이거 아는 사람 업나요?.. read함수로 저장된데이터.. [7] 궁금(112.146) 11.11.16 78 0
288411 갤이 망하는 지름길 [1] 일광면(119.198) 11.11.15 104 0
288410 솔직히 프겔러들 다 곽노현팀장에게 관심없음 ㅇㅇ(182.209) 11.11.15 60 0
288409 장래 대한민국의 훌륭한 일꾼이 될 사람들.jpg ㅇㅇ(222.107) 11.11.15 71 0
288407 으음 곽노현팀장이 진짜 수꼴인지조차 의심됨.. [3] 알탱o갤로그로 이동합니다. 11.11.15 93 0
288406 소프트웨어 말고 하드웨어도 좀 잘 만져야 할 것 같다. [1] 토페갤로그로 이동합니다. 11.11.15 75 0
288405 제가 배우는 과정인데 한번 보시고 책 추천좀 해주세요 [5] vv(125.128) 11.11.15 67 0
288404 페이스북이 지금은 떴어도 말이야 [1] + (-ㅂ-) +(183.102) 11.11.15 78 0
288403 순수 자바로만 프로젝트 할때 awt보단 [4] 막장갤신학생갤로그로 이동합니다. 11.11.15 149 0
288401 곽노현팀장 쟤가 왜 정사갤로 안 가냐면 [5] ㅇㅇ(182.209) 11.11.15 114 0
288400 정보처리기사 말야. 이건 취업을 위해서라도 공부 해놓으면 좋은거같아. [5] 1234(110.11) 11.11.15 183 0
288399 야 솔직히 진짜 게이들 이중에 있냐?? [16] 쿄스케갤로그로 이동합니다. 11.11.15 166 0
288398 자바를 배워서 회사에 들어가면 무슨업무를맡나요 [3] 박구갤로그로 이동합니다. 11.11.15 131 0
288396 씨팔 마야 개새끼들 마야허접(210.101) 11.11.15 48 0
288394 횽들 ㅠㅠ 질문 하나만ㅜㅠ 도미(121.174) 11.11.15 38 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2