C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[62951] Image 픽셀값 접근 관련...
narsinyak [] 1051 읽음    2010-11-09 11:36
//---------------------------------------------------------------------------

#include 
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
        if(OpenDialog1->Execute())
        {
                Image1->Picture->LoadFromFile(OpenDialog1->FileName);
                int r, g, b, color;
                for(int i = 0; i < 256; i++)
                {
                        for(int j = 0; j < 256; j++)
                        {
                                color = Image1->Picture->Bitmap->Canvas->Pixels[i][j];
                                r = color & 0xff;
                                g = (color>>8) & 0xff;
                                b = (color>>16) & 0xff;
                                image[i][j] = (r+g+b)/3;
                        }
                }

                for(int i = 0; i < 256; i++)
                {
                        for(int j = 0; j < 256; j++)
                        {
                                Image2->Canvas->Pixels[i][j] = RGB(image[i][j], image[i][j], image[i][j]);
                        }
                }
        }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
        image = new unsigned char*[256];
        for(int i = 0; i < 256; i++)
        {
                image[i] = new unsigned char[256];
        }
}
//---------------------------------------------------------------------------



질문 1. jpg이미지를 불러온 후, 그 각각의 픽셀값에 접근하는 법을 잘 모르겠습니다.

질문 2. 그림을 불러온 후 직후 있는 이중 for문을 돌리면 그림이 다시 사라지는데 그 원인을 잘 모르겠습니다.
for문을 지우면 그림은 제대로 불러와 집니다.

+ -

관련 글 리스트
62951 Image 픽셀값 접근 관련... narsinyak 1051 2010/11/09
62952     Re:Image 픽셀값 접근 관련... 장성호 2598 2010/11/09
62953         Re:Re:Image 픽셀값 접근 관련... narsinyak 1000 2010/11/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.