zoukankan      html  css  js  c++  java
  • Direct2D (3) : 使用浮点参数绘制基本图形


    {相关方法}
    TDirect2DCanvas.DrawEllipse();
    TDirect2DCanvas.DrawLine();
    TDirect2DCanvas.DrawRectangle();
    TDirect2DCanvas.DrawRoundedRectangle();
    TDirect2DCanvas.FillEllipse();
    TDirect2DCanvas.FillRectangle();
    TDirect2DCanvas.FillRoundedRectangle();
    
    {相关结构}
    TD2DPoint2f      (或 D2D_POINT_2F)	//浮点点结构;		构建函数 D2D1PointF(); 可从 TPoint 隐式转换到 TD2DPoint2f
    TD2D1Ellipse     (或 D2D1_ELLIPSE)	//浮点椭圆结构;		构建函数 D2D1Ellipse(); 
    TD2D1RectF       (或 D2D1_RECT_F)	//浮点矩形结构;		构建函数 D2D1RectF();  可从 TRect 隐式转换到 TD2D1RectF
    TD2D1RoundedRect (或 D2D1_ROUNDED_RECT)	//浮点圆角矩形结构;	构建函数 D2D1RoundedRect();
    


    测试代码:

    uses Direct2D, D2D1;
    
    procedure TForm1.FormPaint(Sender: TObject);
    var
      cvs: TDirect2DCanvas;
      fPt: TD2DPoint2f;
      fLeft,fTop: Single;
    begin
      fPt := D2D1PointF(ClientWidth / 2, ClientHeight / 2);
      fLeft := ClientWidth / 4;
      fTop := ClientHeight / 4;
    
      cvs := TDirect2DCanvas.Create(Canvas, ClientRect);
      cvs.BeginDraw;
      cvs.Pen.Color := clRed;
      cvs.Pen.Width := 2;
    
      cvs.Brush.Color := clBlack;
      cvs.FillRectangle(D2D1RectF(fLeft, fTop, fLeft*3, fTop*3));
      cvs.Brush.Color := clGreen;
      cvs.FillRoundedRectangle(D2D1RoundedRect(D2D1RectF(fLeft, fTop, fLeft*3, fTop*3), 32, 32));
      cvs.Brush.Color := clBlue;
      cvs.FillEllipse(D2D1Ellipse(fPt, fLeft, fTop));
    
      cvs.DrawRectangle(D2D1RectF(fLeft, fTop, fLeft*3, fTop*3));
      cvs.DrawRoundedRectangle(D2D1RoundedRect(D2D1RectF(fLeft, fTop, fLeft*3, fTop*3), 32, 32));
      cvs.DrawEllipse(D2D1Ellipse(fPt, fLeft, fTop));
      cvs.DrawLine(D2D1PointF(fLeft, fTop), D2D1PointF(fLeft*3, fTop*3));
    
      cvs.EndDraw;
      cvs.Free;
    end;
    
    procedure TForm1.FormResize(Sender: TObject);
    begin
      Repaint;
    end;
    

  • 相关阅读:
    bzoj1379 [Baltic2001]Postman
    bzoj1116 [POI2008]CLO
    bzoj1734 [Usaco2005 feb]Aggressive cows 愤怒的牛
    tyvj1086 Elevator
    2014.7.8模拟赛【聪明的打字员】
    2014.7.8模拟赛【笨笨当粉刷匠】|bzoj1296 [SCOI]粉刷匠
    2014.7.8模拟赛【笨笨的电话网络】
    2014.7.8模拟赛【词编码】
    bzoj1854 [Scoi2010]游戏
    2014.7.7 模拟赛【小K的农场】
  • 原文地址:https://www.cnblogs.com/del/p/2000950.html
Copyright © 2011-2022 走看看