|
builder baby 님이 쓰신 글 :
: 이미지타일을 채우는 것에 관한 질문인데요...
: 현재 pixel단위로 이미지를 채우니까 다른 분들과 같이 시간이 너무 오래 걸립니다..
: loop를 여러 개 돌리다 보니 시간이 꽤 많이 걸려요...
:
: for(i=0;i<Image_Width;i++)
: {
: for(j=0;j<Image_Height;j++)
: {
: Image2->Canvas->Pixels[i][j]=
: Image1->Canvas->Pixels[i%BackWidth][j];
: }
: }
:
: 이런 식으로 Image2의 width를 늘려놓은 다음 image1의 bitmap을 픽셀단위로 채워나가는 식으로 코딩했는데요.... 1픽셀단위로 채우다 보니 너무 시간이 오래 걸립니다...도움말에도 써있더군요..very slowly....라구요..
: bitmapinfo라는 것도 있는 것 같든데... 이미지를 채우는 게 아닌 rgb color를 채우는 것 같아서 적용하기가 힘든 것 같습니다..
: 좀 빠른 방법으로 이미지를 타일깔듯이 background에 채워넣을 수 있는 방법이 있을까요?
: 알려주시기를...
유엔아이 입니다.
작은 이미지를 큰이미지 컴포넌트에 타일 식으로 붙여 넣는 방법을 야그 하시는 겁니까 ?
그게 맞다면 ...
픽셀을 하나씩 옮기는건 좀 무리가 있겠지요~
메모리 전송을 하셔야 합니다.
memcpy(Image2->Canvas->Pixels[i], Image1->Canvas->Pixels[i%BackWidth])
이런식으로만 해도 1 라인씩 옮겨 지므로 훨씩 빠르겠지요~
모론 여러가지 문제가 있습니다. 마지막 타일에서의 이미지 버퍼를 넘어 갈수도 있기때문에~
이런 문제점들을 잘 파악 해서 포인터간의 메모리 전송을 하셔야 할것 입니다.
메모리 할당 구조와 포인터 에 대해 아시다면은 간단히 해결 하실수 있으리라 생각 됩니다.
그럼
|