{"height":"190","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fcordea.hatenadiary.com%2Fentry%2F2021%2F08%2F21%2F153445\" title=\"Flutter \u3067 2 \u3064\u306e Path \u3092\u7d44\u307f\u5408\u308f\u305b\u308b Path#combine - CORDEA blog\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","type":"rich","description":"Android \u306b\u304a\u3051\u308b Path#op \u3042\u308b\u3044\u306f Canvas#clipPath \u306e\u3088\u3046\u306a\u3053\u3068\u3092\u3059\u308b Path#combine api.flutter.dev \u4ee5\u4e0b\u306e\u3088\u3046\u306a\u5f62\u3067 Path \u3092\u7d44\u307f\u5408\u308f\u305b\u308b final path = Path.combine( _pathOperation, Path() ..addOval(Rect.fromCircle( center: Offset(centerX - 50, centerY), radius: 100, )) ..close(), Path() ..addOval(Rect.fromCircle( center: Offset(cente\u2026","author_name":"CORDEA","provider_name":"Hatena Blog","title":"Flutter \u3067 2 \u3064\u306e Path \u3092\u7d44\u307f\u5408\u308f\u305b\u308b Path#combine","categories":[],"provider_url":"https://hatena.blog","url":"https://cordea.hatenadiary.com/entry/2021/08/21/153445","blog_url":"https://cordea.hatenadiary.com/","published":"2021-08-21 15:34:45","image_url":"https://cdn-ak.f.st-hatena.com/images/fotolife/C/CORDEA/20210821/20210821153045.png","author_url":"https://blog.hatena.ne.jp/CORDEA/","version":"1.0","blog_title":"CORDEA blog","width":"100%"}