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
[60700] 8bit TImage의 팔레트 재설정법
용맨소녀 [doyongid] 1192 읽음    2010-04-06 15:45
typedef struct
{
	LOGPALETTE 		LogPal;
	PALETTEENTRY 	dummy[256];
} SPalette;

SPalette exPalette;

void __fastcall TWin_Main::ConvertPalette(int pPaletteIndex, BYTE pR, BYTE pG, BYTE pB)
{
	exPalette.LogPal.palPalEntry[pPaletteIndex].peRed	= pR;
	exPalette.LogPal.palPalEntry[pPaletteIndex].peGreen	= pG;
	exPalette.LogPal.palPalEntry[pPaletteIndex].peBlue	= pB;

	exPalette.LogPal.palVersion					= 0x300;
	exPalette.LogPal.palNumEntries				= 256;

	Image_Back->Picture->Bitmap->Palette		= CreatePalette(&exPalette.LogPal);

	Image_Back->Refresh();

	Image_Sprite->Picture->Assign(Image_Back->Picture);
}


팔레트의 특정 부분의 값을 변환한 후, 이를 TImage에 재적용하는 소스입니다.

테스트 해봤는데, 변화가 없는 것 같아요.. 어디가 잘못된 것일까요?

////////////////////////////////////////////////
음.. 찍어보니까.. 특정 팔레트를 바꾸면, 원래 해당 좌표의 픽셀값이 알아서 근접한 색상값으로 바뀌네요..;;;; 이런 인공지능까진 필요없는데..ㅡ.ㅡ

팔레트 바꾼대로 이미지가 찍히게 하려면 어떻게 해야하는지..ㅠㅠ

+ -

관련 글 리스트
60700 8bit TImage의 팔레트 재설정법 용맨소녀 1192 2010/04/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.