|
박남영 님이 쓰신 글 :
: 령아~!♡ 님이 쓰신 글 :
: : 안녕하세요...이렇게 질문하기는 모하지만...
: :
: : 그래도 궁금하네요...API라고는 하지만 아직 감을 못잡은 함수들이거든요...
: :
: : bmPHG = new Graphics::TBitmap
: : pLogPal = (LPLOGPALETTE)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(LOPALLETTE)+256*sizeof(PALETTENTRY)));
: : bmPHG->Palette = CreatePalette(pLogPal);
: : for(i = 0; i < bmPHG->Height; i++) {
: : ptr = (Byte *)bmPHG->ScanLine[i];
: : for (j = 0; j < bmPHG->Width; j++) {
: : ptr[j] = (*(Byte *)(Basic_Data + i*bmPHG->Width + j + (SW_PB-1)*bmPHG->Width*bmPHG->Height))*255/100;
: : }
: : }
: :
: : Image5->Picture->Bitmap->Assign(bmPHG);
: :
: : if (bmPHG) delete(bmPHG);
: : if (pLogPal) HeapFree(GetProcessHeap(), 0, pLogPal);
: : }
: :
: : 중간 중간 빼놓은 소스도 있는데... 소용없는소스들이라...
: :
: : 이렇게 하면 런 안될테지만...이문장의 내용이 참궁금해요..
: :
: : 설명 조금만 해주세요...ㅠ.ㅠ
: :
:
: 정확히는 해석해 드릴순 없구요
:
: 많이 빠진 소스군요 그림을 그리거나 이미지 작업을 위한 사전 작업 소스군요
:
: heap memory를 사용해서 process가 사용할 메모리를 PALLETE 형만큼 으로 할당하구요
:
: PALLETE 를 생성합니다
:
: PALLETE는 쉽게 생각해서 RGB라 생각하심 되구요
:
: 이미지의 크기가 하나씩 증가 할때마다 각 픽셀을 투명하게?하던가 하는 작업을 하는 소스 같군요
:
: 도움이 됬을려나 모르겠군요
:
정확히 보셨군요...
님이 이미지크기가 하나씩 증가할때마다 각 픽셀을 투명하게 하는...그런 작업을 한다는 부분은
중복된 for 문을 말씀하시는 것이지요?
그러니까...제가 함 해볼게요...
너비를 한줄을 읽어서...세로로..for 문을 다시 돌립니다...
ptr[j] = (*(Byte *)(Basic_Data + i*bmPHG->Width + j + (SW_PB-1)*bmPHG->Width*bmPHG->Height))*255/100;
이렇게요... 그럼 이 부분이 투명하게? 하는 부분이 되는거지요?
맞는지 확인 한번 해주시면 감사하겠습니다~~
|