디시인사이드 갤러리

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

갤러리 본문 영역

프갤러들아 좀 도와줘라 api 비트맵 뷰어인데

이세상끝에서갤로그로 이동합니다. 2011.11.22 19:05:24
조회 37 추천 0 댓글 0
														
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)   
{   
        LONG h,w;
    HDC hdc;        
    int fd, x, y, z;        
    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);    //비트맵 데이터 시작지점으로 이동
                
                case WM_PAINT:
            hdc = GetDC(hWnd);        
           
                           if((BitInfo.biWidth%4) == 0)       
                                {   
                                
                                        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);    
                                                }   
                                        }   
                                 
                                }                     
                        }
                        break;

                        case ID_SIZEMAX:                 //2배 확대
                        {                                
                        
            hdc = GetDC(hWnd);        
           
                                if(BitInfo.biWidth)       
                                {  
                                         for(y = BitInfo.biHeight; y >0; y=y-1)   
                                        {   
                                                for(x = 0; x < BitInfo.biWidth; x++)   
                                                {   
                                                        read(fd, buffer, 3);   
                                                        color = RGB(buffer[2], buffer[1], buffer[0]);   
                                                        SetPixel(hdc, x*2, y*2, color);
                                                        SetPixel(hdc, x*2-1, y*2, color);
                                                        SetPixel(hdc, x*2, y*2-1, color);
                                                        SetPixel(hdc, x*2-1, y*2-1, color);
                                                        lseek(fd, 0, SEEK_CUR);   
                                                }
                                        }
                  
                                }
                        }
                                break;
                }
                        
                        
                break;


출력하는부분만 붙여넣은거고
이게 파일열기를 해서 정보를 저장한다음에 점찍는식인거는 보면 알거고.
사이즈조절자체는 SetPixel 이거 이용하면 되는건 암.
질문은 메뉴중에 확대 (ID_SIZEMAX)를 누르면 그림을 크게 하려는데 이런식으로 하니까
확대누르면 바로 오류남. 어떤식으로 해야할지 모르겠다. 뭐 이용하면되겠네 이런거말고 그냥 딱 어디 수정해라식으로 알려줘



추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이제는 의미 없어진 것 같은 시상식은? 운영자 25/12/01 - -
AD 루틴 ON! 운동 찐템! 지금 할인 중 운영자 25/11/27 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48833 65
2906630 러스트는 언어가 문제야 ㅎㅎ 나르시갤로그로 이동합니다. 19:13 3 0
2906629 센척하지만 나도 러스트 좁밥이다. [1] 프갤러(110.8) 19:07 11 0
2906628 c++로 1인개발 거의 안함? [1] 프갤러(175.197) 19:02 16 0
2906626 클라우드 플레어 이 새끼들 riir하다 터트린거 같은데 [1] 프갤러(221.149) 18:26 32 1
2906624 gitlab 먹통이네, ㅅㅂ [1] 프갤러(125.177) 18:08 34 0
2906623 클라우드플레어 또 터진건가요?? [5] 정신나간정상인갤로그로 이동합니다. 18:06 71 0
2906622 눈빛 좀 봐.. [1] ♥발라당냥덩♥갤로그로 이동합니다. 17:43 37 0
2906621 ai특징이 우덜들 절대 기계로 대체않함 ㅋㅋㅋ기상캐스터 등등 타이밍뒷.통수한방(1.213) 17:29 30 0
2906620 진지하게 언어 뭐로 정할까. 도와주셈 [1] 프갤러(175.197) 17:28 80 0
2906619 유재석 나락감?? 타이밍뒷.통수한방(1.213) 17:28 34 0
2906617 카드값 눈물난다 [2] ㅇㅇ(119.56) 17:08 32 0
2906616 크롬 localhost 접속문제 해결 가능하신분 [4] ㅇㅇ(221.158) 17:03 46 0
2906615 쿠팡 보이콧으로 네이버 쇼핑쓰는데 진짜 개느리구나 [3] 헬마스터갤로그로 이동합니다. 16:57 36 0
2906614 일본거주 11년차 외노자 일어 써봤습니다 [3] 프로외노자갤로그로 이동합니다. 16:26 44 0
2906613 37세 백엔드!! [1] 홍길동갤로그로 이동합니다. 15:43 51 0
2906612 저번달까지 현직자였는데 ai가 대체 못하는거 맞다. 프갤러(221.149) 15:38 65 0
2906611 아니 그록 뭐임 ㅋㅋ 프갤러(115.138) 15:20 43 0
2906610 속보 ) 2026년 윈도우12 출시예정-> 출시취소 타이밍뒷.통수한방(1.213) 15:10 30 0
2906609 쿠팡 해지함 (쿠팡이 망해야 한국경제가 산다) [4] 야옹아저씨갤로그로 이동합니다. 15:09 53 2
2906608 나이먹는거보다 저주인것 타이밍뒷.통수한방(1.213) 15:05 22 0
2906607 대통령보다 연봉높은 한국우주청 현실 ) 타이밍뒷.통수한방(1.213) 14:59 34 0
2906606 진지하게 고민중인데 봐줘라 [6] 야옹해갤로그로 이동합니다. 14:59 52 0
2906605 코딩을 오래하면 알게되는것 [2] 프갤러(118.235) 14:46 73 0
2906603 근 30년동안 엄청난 발전이됬지만 2100년될때 타이밍뒷.통수한방(1.213) 14:37 20 0
2906602 고졸인데 pccp 자격증 따면 좆소라도 취직가능? [2] ㅇㅇ갤로그로 이동합니다. 14:22 31 0
2906601 이런말 하는 사람 걸러라 [8] 프갤러(211.235) 14:18 118 0
2906600 인류는 진화하는게 절대 아님 타이밍뒷.통수한방(1.213) 14:15 19 0
2906598 C++ 인생 40 년 갈아 넣었습니다. 프갤러(59.16) 13:46 41 0
2906596 안랩 정류장 - 개인정보 넥도리아(223.38) 13:00 25 0
2906593 나노 바나나 프로 완전 정복: 성능 변화·업데이트 핵심 기능·무료 사용법 프갤러(1.234) 12:23 20 0
2906592 [애니뉴스] YxD Labs Client - 유튜브 프로그램 ㅇㅇ(121.172) 12:02 20 0
2906591 파이썬 현업자들. vscode vs pycharm 선택좀 [4] 프갤러(175.197) 11:56 43 0
2906590 오전부터 장애 대응 중.. cvs.갤로그로 이동합니다. 11:48 30 0
2906588 [애니뉴스] 이 멋진 세계에 축복을 3기 감상 [2] ㅇㅇ(121.172) 10:44 31 0
2906587 잔다 ㅇㅅㅇ [2] 헤르 미온느갤로그로 이동합니다. 09:44 33 0
2906586 어제 출근길..ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09:08 35 0
2906585 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09:00 33 0
2906584 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 08:59 45 0
2906583 그래내가키라다 [4] 깃깃갤로그로 이동합니다. 08:39 65 0
2906582 AI 폼 미쳤다리.. [2] 프갤러(123.200) 08:09 68 0
2906581 님들 코딩테스트 필수인가요? [3] 프갤러(121.139) 06:33 86 0
2906580 인지과학조져라 손발이시립디다갤로그로 이동합니다. 06:14 53 0
2906579 ㄹㅇㄹㅇ 개춥 [2] ♥발라당냥덩♥갤로그로 이동합니다. 06:06 71 0
2906578 백준 실버는 원래 쉬운건가? [6] 프갤러(58.76) 05:39 76 0
2906575 쿠팡 자바스프링 쓴지 8년 넘었다 [1] 프갤러(61.75) 04:40 71 0
2906574 에휴.. [3] 프갤러(182.222) 04:15 65 0
2906572 ‘김예지 비하’ 고발당한 감동란, 국민의힘 입당 발명도둑잡기(118.216) 03:48 45 0
2906568 오늘의 영상 기획 실마리: 쇼미더머니 하세요 발명도둑잡기(118.216) 03:27 21 0
2906562 인공지능이 인간의 예술, 음식을 평가, 평론할 수 있을까요? 발명도둑잡기(118.216) 03:13 24 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2