Q&A

  • 파일까지 올립니다..(이미지관련)


아래것은 겹치는 질문은 제가 알아서 지우겠습니다..



제발님들...좀 갈켜주세여...



비트맵버튼으로 동적객체를 생성한다음 이미지를 불러와서 그이미지를



버튼들에 잘라서 넣코 싶습니다. 어케 해야할지 몰겠습니다.



파일까지 올립니다...제발 갈켜주세여 이것은 비트맵 버튼 동적생성과



이미지 로드까지 만든것입니다.



다운

3  COMMENTS
  • Profile
    최용일 2001.08.03 04:23
    안녕하세요. 최용일입니다.



    Canvas.CopyRect함수를 이용해서 for문으로 돌리면 되겠네요...



    사본캔버스.CopyRect(복사할영역(사본), 원본캔버스, 복사할영역(원본));



    위와같이 하시면 원본의 영역이 사본의 영역으로 복사해집니다...



    ^^ 항상 즐코하세요...



    미얀이 wrote:

    >

    > 아래것은 겹치는 질문은 제가 알아서 지우겠습니다..

    >

    > 제발님들...좀 갈켜주세여...

    >

    > 비트맵버튼으로 동적객체를 생성한다음 이미지를 불러와서 그이미지를

    >

    > 버튼들에 잘라서 넣코 싶습니다. 어케 해야할지 몰겠습니다.

    >

    > 파일까지 올립니다...제발 갈켜주세여 이것은 비트맵 버튼 동적생성과

    >

    > 이미지 로드까지 만든것입니다.

    >

    > 다운

  • Profile
    미얀이 2001.08.03 04:41
    용일님 답변해 주셔서 감사합니다.



    그런데여...ㅠ.ㅠ 어케 하는건지 아직도 모르겠습니다.



    델파이 help까지 뒤져 봤는데..봐도...ㅠ.ㅠ 도무지 모르겠습니다.



    예제 프로그램 하나만 만들어 주시면 안될까여...ㅠ.ㅠ



    부탁드립니다...꾸벅.. ('')(..)



  • Profile
    홍성락 2001.08.06 23:58
    미얀이 wrote:

    > 용일님 답변해 주셔서 감사합니다.

    >

    > 그런데여...ㅠ.ㅠ 어케 하는건지 아직도 모르겠습니다.

    >

    > 델파이 help까지 뒤져 봤는데..봐도...ㅠ.ㅠ 도무지 모르겠습니다.

    >

    > 예제 프로그램 하나만 만들어 주시면 안될까여...ㅠ.ㅠ

    >

    > 부탁드립니다...꾸벅.. ('')(..)

    //////////////////////////////////////////////////////////////////////////

    최용일님이 말씀하신데로 Canvas.CopyRect를 사용해보시면되는데요.

    일단 가장 쉽게 Image2를 숨겨놓고 그리로 잘른것을 버튼에 넣는식으로해보았습니다

    procedure line;

    var

    i,j : integer ;

    x,z : integer ;

    MyRect, MyOther: TRect;

    w,h : integer ;

    begin

    randomize;



    j := (l * l) - 2 ;



    for x:=0 to oj do

    begin

    btn[x].Free;

    end;



    MyRect := form1.Image1.Canvas.ClipRect;

    w := (MyRect.Right-MyRect.Left) div l;

    h := (MyRect.Bottom-MyRect.Top) div l;

    form1.Image2.Width := 60;

    form1.Image2.Height := 60;

    MyOther := form1.Image2.Canvas.ClipRect;



    for i:=0 to j do begin

    btn[i] := tbitbtn.Create(form1);

    btn[i].Parent := form1.panel1;

    btn[i].Left := (i mod l) * 60 + 7;

    btn[i].Top := (i div l) * 60 + 7;

    btn[i].Width := 60;

    btn[i].Height := 60;

    btn[i].Caption := inttostr(i+1);



    MyRect := form1.Image1.Canvas.ClipRect;

    MyRect.Left := MyRect.Left + w*(i mod l) ;

    MyRect.Top := MyRect.Top + h*(i div l);

    MyRect.Right := MyRect.Left + w;

    MyRect.Bottom := MyRect.Top + h;



    Form1.Image2.Canvas.CopyRect

    (MyOther,Form1.Image1.Picture.Bitmap.Canvas,MyRect);

    btn[i].Glyph := form1.Image2.Picture.Bitmap;



    {btn[i].OnClick := btnclick;}

    puz[i mod l][i div l] := i;

    end;

    oj := j;

    nx := l;

    ny := l;

    end;