zoukankan      html  css  js  c++  java
  • 2个多边形,其中一个包围另一个,如何将中间的环带区域涂成红色

    1.  画两次不就可以了。。第一次画大的,第二画小的。。

    procedure   TForm1.Button1Click(Sender:   TObject);  
       
      begin  
            with   Canvas   do  
            begin  
                Rectangle(100,100,300,300);  
                Rectangle(150,150,250,250);  
                Brush.Color   :=   clRed;  
                FillRect(rect(150,150,250,250));  
            end;  
      end;

    2.先创建出HRGH的区域,再用CombineRgn获取环带的区域,之后填充:  
       
      var   a,   b,   c:   HRGN;  
              hbr:   HBRUSH;  
      begin  
          //     Canvas.Rectangle(100,200,400,400);  
          //     Canvas.RoundRect(120,220,300,350,100,100);  
          hbr   :=   CreateSolidBrush(clRed);  
          a:=CreateRectRgn(100,200,400,400);  
          b:=CreateRoundRectRgn(120,220,300,350,100,100);  
          c:=CreateRectRgn(0,0,1,1);  
          CombineRgn(c,   a,   b,   RGN_DIFF);  
          FillRgn(Canvas.Handle,c,   hbr);  
      end;

  • 相关阅读:
    java大数取余
    hdu--5351--MZL's Border
    NYOJ--水池数目
    NYOJ--32--SEARCH--组合数
    NYOJ--20--搜索(dfs)--吝啬的国度
    hdu--4148--Length of S(n)
    hdu--2098--分拆素数和
    hdu--1873--看病要排队
    hdu--1870--愚人节的礼物
    hdu--1237--简单计算器
  • 原文地址:https://www.cnblogs.com/zhangzhifeng/p/2119791.html
Copyright © 2011-2022 走看看