2

我有一个滑块组件,我希望它有一个句柄,因为 png 图像作为道具传递。现在,我希望该 png 图像通过本机反应到本机模块(android 和 ios 两者)。该组件是在原生端为 ios(Objective C) 和 android(Java) 编写的。

  1. 如何将 png 图像作为道具传递给本机模块?
  2. 我如何在本机 Java 部分使用它们?(我正在使用 Canvas 来绘制我的滑块,如下所示)。
  3. 我如何在原生 Objective C 中使用它们?(我正在使用 CGContext 来绘制我的滑块)。

我试过的:

  1. 我在 React Native 端通过以下代码解析了 png 图像的路径。
  const myImage = require('../assets/slider-handle.png');
  const resolveAssetSource = require('react-native/Libraries/Image/resolveAssetSource');
  const resolvedImage = resolveAssetSource(myImage); 

然后将图像的路径作为 prop 传递imagePath={resolvedImage.uri}

然后在 Java 部分,我执行以下操作:

public void drawImage(String imagePath, Canvas canvas, int x, int y) {
     Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
     canvas.drawBitmap(bitmap, y, x, somePaintValue);
}

我正在获取图像的路径(路径是这样的:(http://10.0.2.2:8081/assets/app/components/slider/assets/slider.png),我已经通过安慰小路。

不确定我是否只需要传递图像的路径,或者是否有办法传递整个 png。这是我第一次使用 Java 和 Objective C。 这是我正在开发的滑块。 任何帮助将不胜感激。

4

0 回答 0