小编Spr*_*owk的帖子

如何在颤动中修复相机照片的错误旋转?

我正在使用最新的相机插件版本拍照,我正在使用颤振示例中的代码。这是我选择相机的方式:

final cameras = await availableCameras();
final firstCamera = cameras.first;
Run Code Online (Sandbox Code Playgroud)

这是在init里面:

_cameraController = CameraController(
  widget.camera,
  ResolutionPreset.medium,
  enableAudio: false,
);
Run Code Online (Sandbox Code Playgroud)

这是相关代码的其余部分:

Future _takePhoto(BuildContext context) async {
  try {
    await _initializeControllerFuture;
    final path = join(
      (await getTemporaryDirectory()).path,
      '${DateTime.now()}.png',
    );

    await _cameraController.takePicture(path);

    setState(() {
      _imagePath = path;
    });
  } catch (e) {
    print(e);
  }
}
Run Code Online (Sandbox Code Playgroud)

之后,我将照片展示给用户,Image.file(File(_imagePath))然后将照片发送到 API。问题是有时会以错误的方向拍摄照片。(这个我很确定,因为照片在数据库中也旋转了。)例如,在3年前的小米手机上,它完美无缺,但在某些新的三星手机上,照片总是旋转。

如何确保旋转始终正确?(即使在 ios 设备上)

android-camera dart flutter

13
推荐指数
3
解决办法
1万
查看次数

如何将 sha256 的摘要添加到 flutter 中的字符串中?

我正在将密码传递给 sha256。我成功创建了sha256并且也可以打印它。当我尝试将digest.bytes 转换为字符串并附加它时,问题就开始了。

\n\n
import \'package:crypto/crypto.dart\';\n\nvar url = "http://example_api.php?";\nurl += \'&hash=\';\n\n// hash the password\nvar bytes = utf8.encode(password);\nvar digest = sha256.convert(bytes);\nprint("Digest as hex string: $digest");\n\nurl += String.fromCharCodes(digest.bytes);\n
Run Code Online (Sandbox Code Playgroud)\n\n

打印为:摘要为十六进制字符串:03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4

\n\n

这附加到网址:\xc2\xacgB\xc3\xb3\xc3\xa1\\v\xc3\xa1\xc2\xa5\xc3\xa2U\xc3\xb0g6#\xc3\x88\xc2\xb3\xc2\xb4E \xc3\xb9x\xc3\x97\xc3\x88F\xc3\xb4

\n\n

我究竟做错了什么?我还尝试了 utf8.decode 方法,但使用它给了我一个错误。

\n

cryptography flutter

4
推荐指数
1
解决办法
5499
查看次数

标签 统计

flutter ×2

android-camera ×1

cryptography ×1

dart ×1