Q&A

  • 5일째 고민중이거든여... 여백 색 채우기입니다. 부디...
image1은 그림이 있는경우  
image2 은 그림이 없는 테두리만 있는경우입니다.

image1  사이즈 가로 300 세로 300
image2  사이즈 가로 200 세로 200

두개의 이미지를 겹쳐놓은상태에서 버튼을 누르면  image2의 테두리 외간선 안의 색은 채우지안고
바깥쪽으로 채우고싶습니다. imag1의 사이즈 만큼만..
즉  image2는 아무것도 없는 그림이고 image1은 그림이 있는경우인데...  300-200   즉 100 사이즈만
다른색으로 채우고싶습니다.  ..  

이것저것 다 했봤는데..   진짜 안되더군여...  부디 알려주세여... ㅠ.ㅠ
4  COMMENTS
  • Profile
    KDDG_ZZOM 2003.04.16 02:21
  • Profile
    문상용 2003.04.16 03:42
    압축되어있는데..  풀면은 텍스트 화일에다가 적어났거든여...
    ^^;  감사합니다.  부디  해결좀 부탁드립니다.
  • Profile
    KDDG_ZZOM 2003.04.16 01:48
    Image1.Canvas.Polygon요걸 가지고 하면 될것같은데...
    요걸로는 넘어려워서 모르겠구요...

    단순무식하게 Image1.Canvas.FillRect()로 4번 하는건 어떨까요?

    procedure TForm1.Button1Click(Sender: TObject);
    var
      Rect : TRect;
      Point : TPoint;
    begin
      Point.x := Trunc((Image1.Height - Image2.Height) / 2);
      Point.y := Trunc((Image1.Width  - Image2.Width) / 2);

      Image1.Canvas.Brush.Color := clRed;

      Rect.Left   := 0;
      Rect.Top    := 0;
      Rect.Right  := Image1.Width;
      Rect.Bottom := Point.x;
      Image1.Canvas.FillRect(Rect);

      Rect.Left   := 0;
      Rect.Top    := 0;
      Rect.Right  := Point.x;
      Rect.Bottom := Image1.Height;
      Image1.Canvas.FillRect(Rect);

      Rect.Left   := Image1.Width - Point.x;
      Rect.Top    := 0;
      Rect.Right  := Image1.Width;
      Rect.Bottom := Image1.Width;
      Image1.Canvas.FillRect(Rect);

      Rect.Left   := 0;
      Rect.Top    := Image1.Height - Point.y;
      Rect.Right  := Image1.Height;
      Rect.Bottom := Image1.Height;
      Image1.Canvas.FillRect(Rect);
      Image1.Canvas.Polygon
    end;

    즐프하세요...

  • Profile
    구창민 2003.04.16 02:07
    FillRect 를 두번만 하면 되겄구만..

    바깥 먼저 다음 안쪽으로..

    즐플~~