Q&A

  • 이중철님 감사합니다. ^^ 궁금중이있는데여..
^^    emf 파일을 보면 도형으로되있자나여..

   이미지 2의  200,300 일때 그외에만 흰색으로 채웠자나여.. 그안은 밑에깔린
그림이 보이구...    이미지2의 도형을 재외한 다른부분도 다른 색으로 채울수 있나여?    

즉 ,  200,300 이라는 이미지2의 그림안에  작은사각형 10,20  이라든지 30,20
이라든지..   이 도형등을 재외한 나머지 여백도 다른색으로 채울수있나여?

아니면..  이미지의 툴따라 바깥으로 칠해져도 괸찬거든여...  너무 너무 어렵네여
점점 재미가 있어지는고 있었는데..ㅠ.ㅠ

너무 질문만하네여... 죄송해여...
2  COMMENTS
  • Profile
    이중철 2003.04.17 00:13
    제가 했던 방법들은 일반적인 Bitmap 제어부문의 기초에 해당됩니다.

    이방법의 주 내용은 비트연산에 해당되는데

    (흰색 = $FFFFFF) AND (빨간색 = $FF0000) =  (빨간색 = $FF0000)
    (검은색 = $000000) AND (빨간색 = $FF0000) =  (검은색 = $000000)

    마찬가지로
    (흰색 = $FFFFFF) OR (빨간색 = $FF0000) =  (흰색 = $FFFFFF)
    (검은색 = $000000) OR (빨간색 = $FF0000) =  (빨간색 = $FF0000)

    이 두가지 방법을 혼합해서 사용하시면 원하는 결과를 얻을수 있는겁니다.

    제가 올린 내용을 보면 이 두가지 방법을 사용했다는 것을 알 수 있을겁니다.

    참고로 A Xor B = C   => C Xor B = A  이것도 많이 사용해요..

    님께서 아래에 질문하신 내용도 위의 2가지 방법을 사용해서 지울수 있습니다.

  • Profile
    문상용 2003.04.17 00:42
    TarBit.Canvas.CopyMode := cmpatinvert;   <-----  부분을 고치는건가여..
       cmsrcpaint =or 연산  
    지금 등등 사용해보구있거든여.. ^^;

      TarBit.Canvas.CopyRect(Bit.Canvas.ClipRect, Bit.Canvas, Bit.Canvas.ClipRect);

    R.Top := Image2.Top - Image1.Top;
      R.Left := Image2.Left - Image1.Left;
      R.Right := R.Left + Image2.Width;
      R.Bottom := R.Top + Image2.Height;

    이부분이 image2의 사이즈부분만 구하는거같은데여..
    이부분은 제외한 나머지를 색으로 채운다는거자나여...
    제가 의도한바로 그린다면은  

    위 사각형이미지영역 을  구하는 공식을 다르게 하면은 될꺼같은데.. 머리가 안굴러가네여 ^^;  형태가다른 이미지사이즈를 구해서 하면될꺼같은데.. ^^;
    머리에 기름칠을 워낙안해나서여...