国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二)

這篇具有很好參考價值的文章主要介紹了【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二),Flutter,flutter,javascript,android

CustomPaint

使用實例和代碼:

1.canvas.drawColor 繪制背景顏色

class MyPainter1 extends CustomPainter {
  
  void paint(Canvas canvas, Size size) {
    //繪制背景顏色,整個UI 現(xiàn)在就是紅色的
    canvas.drawColor(Colors.red, BlendMode.srcATop);

  }

  
  bool shouldRepaint(covariant CustomPainter oldDelegate) {
    return true;
  }
}

【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二),Flutter,flutter,javascript,android

2.canvas.drawCircle 繪制圓

    final whitePaint = Paint()..color = Colors.red;
    //offset 位置,半徑
    canvas.drawCircle(const Offset(100, 100), 100, whitePaint);

【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二),Flutter,flutter,javascript,android

3.canvas.drawRect繪四邊形

    //繪制四邊形
    final redPaint = Paint()..color = Colors.red;
    // left:距離左邊的距離, top:距離右邊的距離, width, height
    canvas.drawRect(Rect.fromLTWH(100, 100, 100, 100), redPaint);
    //center 中心點的位置, 寬高,
    canvas.drawRect(
        Rect.fromCenter(center: Offset(50, 50), width: 100, height: 100),
        redPaint);
    //radius 半徑
    canvas.drawRect(
        Rect.fromCircle(center: const Offset(50, 50), radius: 50), redPaint);

    canvas.drawRect(
        Rect.fromPoints(const Offset(50, 50), Offset(100, 100)), redPaint);

【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二),Flutter,flutter,javascript,android

4.canvas.drawRRect 繪制圓角矩形

其他的方法可以自行嘗試,參數(shù)大同小異

// left, top, right, bottom, radius
    canvas.drawRRect(
        RRect.fromLTRBR(100, 100, 200, 200, Radius.circular(20)), redPaint);
//可以設定不同邊角弧度的
    canvas.drawRRect(
        RRect.fromLTRBAndCorners(100, 100, 200, 200,
            topLeft: const Radius.circular(20)),
        redPaint);

【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二),Flutter,flutter,javascript,android

5.canvas.drawRRect 嵌套繪制

canvas.drawDRRect(
    RRect.fromLTRBR(100, 100, 300, 300, const Radius.circular(20)),
    RRect.fromLTRBR(150, 150, 200, 200, const Radius.circular(20)),
    redPaint);

【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二),Flutter,flutter,javascript,android

6.canvas.drawOval 繪制橢圓形

//橢圓形
    canvas.drawOval(Rect.fromLTRB(100, 80, 400, 300), redPaint);

【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二),Flutter,flutter,javascript,android

7.canvas.drawPath 繪制路徑

    final redPaint = Paint()
      ..color = Colors.red
      ..strokeWidth = 2.0
      ..style = PaintingStyle.stroke;

    // final path = Path()
    //   ..moveTo(100, 100) //起始點
    //   ..lineTo(200, 200) //鏈接到點
    //   ..lineTo(400, 400) //鏈接到點
    //   ..close(); //關閉
    // canvas.drawPath(path, redPaint);

    final path1 = Path()
      ..moveTo(400, 400) //起始點
      ..lineTo(400, 500) //鏈接到點
      ..lineTo(400, 400) //鏈接到點
      ..addRect(Rect.fromLTRB(500, 500, 100, 100)) //新增一個矩形,或者其他的也可以
      ..close(); //關閉
      //或者在這邊添加也可以
    // path1.addRect(Rect.fromLTRB(500, 500, 100, 100));
    // path1.close();
    canvas.drawPath(path1, redPaint);

【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二),Flutter,flutter,javascript,android

8.canvas.drawArc 繪制弧形

// 繪制圓弧的形狀
    // rect:繪制一個矩形, startAngle:圓弧開始的角度, sweepAngle:開始到結束的角度大小, useCenter:是否閉合向著中心位置
    canvas.drawArc(
        Rect.fromPoints(Offset(0, 0), Offset(200, 200)), 0, 3.14, true, painit);

9.canvas.drawShadow繪制陰影

  final painit = Paint()
    ..color = Colors.red
    ..strokeWidth = 10;
  Path path = Path();
  path
    ..moveTo(8, 200)
    ..lineTo(320, 400)
    ..lineTo(200, 340)
    ..lineTo(100, 460)
    ..close();
  // path, color, elevation, transparentOccluder表示如果遮擋對象是透明的,應該為true,否則為false
  canvas.drawShadow(path, Colors.green, 8.0, false);
  canvas.drawPath(path, painit);

【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二),Flutter,flutter,javascript,android

10.canvas.drawPoints 繪制點

    List<Offset> points = const [
      Offset(100, 100),
      Offset(200, 200),
      Offset(300, 300),
      Offset(100, 400),
      Offset(500, 500),
      Offset(441, 231),
    ];
    //兩個兩個點繪制為一條線
    // canvas.drawPoints(PointMode.lines, points, painit);
    // 繪制點
    // canvas.drawPoints(PointMode.points, points, painit);
    // 點按照順序連接起來
    canvas.drawPoints(PointMode.polygon, points, painit);

【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二),Flutter,flutter,javascript,android

11.繪制五角星

繪制完成之后close,起始點和close 點會鏈接起來

   debugPrint("size.width ${size.width}");
    Path path = Path()..moveTo(size.width / 2, 200);
    path.lineTo(size.width / 4, 500);
    path.lineTo(size.width / 7 * 6, 320);
    path.lineTo(size.width / 7, 320);
    path.lineTo(size.width / 4 * 3, 500);
    path.close(); //閉合,沒有這個就不會閉合

    debugPrint(
        "point ${size.width / 2},200=${size.width / 4} 500=${size.width / 7 * 6} 320=${size.width / 7} 320==${size.width / 4 * 3} 500");

【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二),Flutter,flutter,javascript,android文章來源地址http://www.zghlxwxcb.cn/news/detail-639955.html

到了這里,關于【Flutter】【基礎】CustomPaint 繪畫功能,繪制各種圖形(二)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 數(shù)據(jù)可視化神器!Matplotlib Python教程 | 從入門到精通繪制各種類型的圖形和保存圖形

    數(shù)據(jù)可視化神器!Matplotlib Python教程 | 從入門到精通繪制各種類型的圖形和保存圖形

    大家好,我是愛吃熊掌的魚,今天我要給大家?guī)硪黄腥ら_朗的Matplotlib Python教程。Matplotlib是Python中最流行的數(shù)據(jù)可視化庫之一,它可以幫助我們將數(shù)據(jù)轉化為易于理解的圖表和圖形。無論你是初學者還是專業(yè)人士,Matplotlib都是一個非常有用的工具。讓我們開始吧! 在開

    2023年04月21日
    瀏覽(24)
  • ChatGPT(小程序版)- 可AI繪畫、內(nèi)置各種功能

    ChatGPT(小程序版)- 可AI繪畫、內(nèi)置各種功能

    chatGP在網(wǎng)絡上可是出了名的火爆,無論是圈內(nèi)還是圈外的人,都希望能嘗試一下,不過因為沒有辦法在中國注冊,所以門檻攔住了一大半人的使用。 再加上近來大量的 GPT頭銜被封,人們在用它的時候,都會感到有心無力。。 在此向各位安利一款名為“AI硅基小助手”的小程

    2024年02月09日
    瀏覽(21)
  • OpenCV基礎知識4 — 繪制圖形

    OpenCV基礎知識4 — 繪制圖形

    前言: Hello大家好,我是小哥談。 OpenCV提供了許多用于繪制圖形的方法,包括繪制線段的line()方法、繪制矩形的retangle()方法、繪制圓形的circle()方法、繪制多邊形的polylines()方法和繪制文字的putText()方法。本節(jié)課將依次對上述各個方法進行講解,并使用上述方法繪制相應的圖

    2024年02月13日
    瀏覽(62)
  • 類ChatGPT(小程序版) – 可AI繪畫、內(nèi)置各種功能,可會話記憶

    類ChatGPT(小程序版) – 可AI繪畫、內(nèi)置各種功能,可會話記憶

    chatGP在網(wǎng)絡上可是出了名的火爆,無論是圈內(nèi)還是圈外的人,都希望能嘗試一下,不過因為沒有辦法在中國注冊,所以門檻攔住了一大半人的使用。 再加上近來大量的?GPT頭銜被封,人們在用它的時候,都會感到有心無力。。 在此向各位安利一款名為“AI硅基小助手”的小程

    2024年02月09日
    瀏覽(17)
  • AI 繪畫基礎 - 細數(shù) Stable Diffusion 中的各種常用模型 【? 魔導士裝備圖鑒】

    AI 繪畫新手魔導士在剛開始玩 Stable Diffusion 時總會遇到各種新的概念,讓人困惑,其中就包括各種模型和他們之間的關系。 魔法師入門得先認識各種法師裝備(各種模型),讓我們遇到問題知道使用何種裝備來協(xié)助自己發(fā)揮更大的效果。 在了解各種模型之前,有必須先了解

    2024年02月03日
    瀏覽(23)
  • AI 繪畫基礎 - 細數(shù) Stable Diffusion 中的各種常用模型 【 魔導士裝備圖鑒】

    AI 繪畫基礎 - 細數(shù) Stable Diffusion 中的各種常用模型 【 魔導士裝備圖鑒】

    AI 繪畫新手魔導士在剛開始玩 Stable Diffusion 時總會遇到各種新的概念,讓人困惑,其中就包括各種模型和他們之間的關系。 魔法師入門得先認識各種法師裝備(各種模型),讓我們遇到問題知道使用何種裝備來協(xié)助自己發(fā)揮更大的效果。 在了解各種模型之前,有必須先了解

    2024年02月10日
    瀏覽(15)
  • 鴻蒙開發(fā)-UI-圖形-繪制自定義圖形

    鴻蒙開發(fā)-UI-圖形-繪制自定義圖形

    鴻蒙開發(fā)-UI-組件 鴻蒙開發(fā)-UI-組件2 鴻蒙開發(fā)-UI-組件3 鴻蒙開發(fā)-UI-氣泡/菜單 鴻蒙開發(fā)-UI-頁面路由 鴻蒙開發(fā)-UI-組件導航-Navigation 鴻蒙開發(fā)-UI-組件導航-Tabs 鴻蒙開發(fā)-UI-圖形-圖片 鴻蒙開發(fā)-UI-圖形-繪制幾何圖形 文章目錄 前言 一、使用畫布組件繪制自定義圖形 1.初始化畫布組

    2024年04月15日
    瀏覽(17)
  • pytorch各種激活函數(shù)繪制

    2023年08月17日
    瀏覽(14)
  • Mermaid使用教程(繪制各種圖)

    Mermaid使用教程(繪制各種圖)

    簡介 本文將主要介紹使用Mermaid繪制各種各樣的常用的圖,例如:餅狀圖、序列圖、甘特圖等等,當然Mermaid也可以用來繪制流程圖,可以參見我的另一篇文章: https://blog.csdn.net/m0_54218263/article/details/135684176 餅狀圖 Mermaid 是一個用于生成圖表和流程圖的 JavaScript 庫,它使用 M

    2024年01月21日
    瀏覽(16)
  • 【bar堆疊圖形繪制】

    【bar堆疊圖形繪制】

    在數(shù)據(jù)可視化中,條形圖是一種常用的圖表類型,用于比較不同類別的數(shù)據(jù)值。Python的matplotlib庫為我們提供了方便易用的功能來繪制條形圖。 首先,我們展示如何繪制基本的條形圖。假設我們有一個包含十個類別的數(shù)據(jù)集,其中每個類別都有兩個相關的數(shù)據(jù)值。我們使用

    2024年02月15日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包