Q&A

  • 함수에서 이미지를 아규먼트로 넘기려는데 우찌하는지요.
제목에서 말한대로
이미지(TImage)를 아규먼트로 넘겨 넘겨받은 여러개의 이미지 중 넘겨받은 이미지를 처리하고자 합니다.

넘겨받을 것은 이미지객체(TImage(와 이미지에 넣을 파일의 위치(string)입니다.

제가 하고 있는 프로그램은 여러 그림(60)개를 그림에 놓고 2개의 그림을 클릭해서 열어  서로 같은 그림이면 맞았다고 화면에 나타내고 클릭한 두 그림 서로 다르면 잘못선택했다고 표시해주려구요.

즉 같은 그림 맞추기 게임입니다.
근데, 잘 안되네요.



그리고 현재 TImage에 넣은 파일의 위치와 파일명을 알 수 있는 속성이나 메소드는 없는지요?

꼭 좋은 답변 바랍니다.
4  COMMENTS
  • Profile
    버섯 2002.10.25 23:57
    그런 알고리즘이라면.. 이미지자체를 비교하는게 아닐거 같은데요..
    이미지에 적당한 테그를 붙여두고.. 그것을 비교하는게 맞는듯 싶은데..

    이미지 자체를 비교한다는것은... 이미지 프로세싱기법(픽셀단위로 비교) 에서 사용할듯 싶은데요...


    즐~
  • Profile
    허진석 2002.10.26 00:00
    내가 누른 이미지가 어떤건지를 알고 있어야 그 이미지를 닫을거 아닌가요?
    첫번째 이미지와 두번째 이미지가 어떤건지 알아야 60개 중에서 그 2개를 닫지요.


  • Profile
    버섯 2002.10.26 00:18
    이미지를 배열할때.. 그이미지의 위치를 알려주는 테그를 배열로 선언하면 됩니다.

    예)

    1 : 1.jpg
    2 : 2.jpg
    ...
    ...

    1 4 2 4
    2 9 3 1
    3 9 5 5

    뭐 이런식으로 배열을 선언해두고..
    마우스가 클릭되면 그 위치를 파악한다던가.


    아마 이미지 짝을 맞추는 게임을 말씀하시는것 같은데..
    이미지를 동적으로 생성합니다.

    aa : array[1..10,1..10] of Timage;

    이런다음 동적으로 생성 해주시고

    이미지를 로드할때..
    aa[1,1].tag := 'imagename';

    이런식으로 일일이 저장한다음..

    aa[i,i].onclick := imageclick;

    이라고 이미지클릭 이벤트 함수를 만들고..

    imageclick;
    begin
          여기서 눌러진 이미지를 비교해서 tag가 같다면 그 눌러진 이미지를 없애면 됩니다..

    end;

    도움이 되었느지 모르겠네요.
  • Profile
    허진석 2002.10.26 00:23
    감사감사 내가 찾던 것 같습니다.

    이 해결책으로 하면 될 것 같습니다. 대단히 감사합니다.
    해보고 안되면 다시 질문올릴께요..

    감사..