동일한 이미질 매번 화일에서 읽어 오고 있습니다. 25개 * 7 = 175 개 가량..
같은 그림인데...
TImage1.Picture.LoardFromFile('c:1.bmp');
TImage2.Picture.LoardFromFile('c:1.bmp');
TImage3.Picture.LoardFromFile('c:1.bmp');
TImage4.Picture.LoardFromFile('c:1.bmp');
.
.
.
이런식으로
더무 무식한 방법 같아서.... 소스의 길이 문제나 속도 문제 보다는
메모리 상으로 어찌 되는지 잘 몰라서...... TImage에 그래픽을 하나씩
올리지 않고 포인트 같은 걸 쓰는 방법은 없는지...
값전달이 아닌 포인터 전달과 같은... 그런 방법은 없는지..
......
> 동일한 이미질 매번 화일에서 읽어 오고 있습니다. 25개 * 7 = 175 개 가량..
> 같은 그림인데...
> TImage1.Picture.LoardFromFile('c:1.bmp');
> TImage2.Picture.LoardFromFile('c:1.bmp');
> TImage3.Picture.LoardFromFile('c:1.bmp');
> TImage4.Picture.LoardFromFile('c:1.bmp');
> .
> .
> .
> 이런식으로
> 더무 무식한 방법 같아서.... 소스의 길이 문제나 속도 문제 보다는
> 메모리 상으로 어찌 되는지 잘 몰라서...... TImage에 그래픽을 하나씩
> 올리지 않고 포인트 같은 걸 쓰는 방법은 없는지...
> 값전달이 아닌 포인터 전달과 같은... 그런 방법은 없는지..
안녕하세요... 더운데 수고 많으십니당 ^^
아주 중요한 질문을 하셔서 이렇게 보충설명을 합니다.
문제의 핵심은 동일한 이미지 라는데 있습니다. 델파이는 같은
이미지의 경우 하나로 공유하는 기능을 내장하고 있습니다. 그러나
LoadFromFile로 여러번 부르게 되면 각각 다른 이미지로 처리 되죠.
먼저 다음처럼 첫 이미지를 부릅니다.
Image1.Picture.LoadFromFile('c:1.bmp');
그런후 다음처럼 나머지 Image들을 연결합니다.
Image2.Picture:=Image1.Picture;
Image3.Picture:=Image1.Picture;
:
:
이것은 포인터처리하고는 다릅니다. 내부에서 assign메소드가 동작하여
연결정보를 구성합니다.
만약 이렇게 연결된 이미지들 중에 하나가 수정되면 새로운 이미지로
분리됩니다. 이 모든건 델파이가 자동으로 수행합니다.
좋은하루 되세요....