1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        React Native Skia高性能 React Native 圖形庫

        聯(lián)合創(chuàng)作 · 2023-09-29 15:39

        React Native Skia 是高性能的 2D 圖形庫,將 Skia 項(xiàng)目帶到了 React Native 平臺(tái)。Skia 是 Chrome、Chrome OS、Android、Flutter、Mozilla Firefox 和 Firefox OS 以及許多其他產(chǎn)品使用的圖形引擎。

        示例

        聲明式 API

        import {Canvas, Circle, Group} from "@shopify/react-native-skia";
        
        export const HelloWorld = () => {
          const width = 256;
          const height = 256;
          const r = 215;
          return (
            <Canvas style={{ flex: 1 }}>
              <Group blendMode="multiply">
                <Circle cx={r} cy={r} r={r} color="cyan" />
                <Circle cx={width - r} cy={r} r={r} color="magenta" />
                <Circle
                  cx={width/2}
                  cy={height - r}
                  r={r}
                  color="yellow"
                />
              </Group>
            </Canvas>
          );
        };

        命令式 API

        import {Skia, BlendMode, SkiaView, useDrawCallback} from "@shopify/react-native-skia";
        
        const paint = Skia.Paint();
        paint.setAntiAlias(true);
        paint.setBlendMode(BlendMode.Multiply);
        
        export const HelloWorld = () => {
          const width = 256;
          const height = 256;
          const r = 215;
          const onDraw = useDrawCallback((canvas) => {
            // Cyan Circle
            const cyan = paint.copy();
            cyan.setColor(Skia.Color("cyan"));
            canvas.drawCircle(r, r, r, cyan);
            // Magenta Circle
            const magenta = paint.copy();
            magenta.setColor(Skia.Color("magenta"));
            canvas.drawCircle(width - r, r, r, magenta);
            // Yellow Circle
            const yellow = paint.copy();
            yellow.setColor(Skia.Color("yellow"));
            canvas.drawCircle(width/2, height - r, r, yellow);
          });
          return (
            <SkiaView style={{ flex: 1 }} onDraw={onDraw} />
          );
        };

        瀏覽 31
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久久免费观看视频 | 性片的生活 | 五月丁香花在线视频 | 樱桃视频一区二区三区 | 午夜网址 | 色色va | 69综合 | china高潮china激情 | 日日碰夜夜 | 国产偷久久 |