getBase64NaturalSize static method

Size? getBase64NaturalSize(
  1. String base64String
)

获取 base64 图片的天然像素尺寸(使用 image_size_getter,命中缓存则直接返回)

Implementation

static ui.Size? getBase64NaturalSize(String base64String) {
  if (base64String.isEmpty) return null;
  if (_base64SizeCache.containsKey(base64String)) {
    return _base64SizeCache[base64String];
  }

  final Uint8List? bytes = getDecodedBase64(base64String);
  if (bytes == null) return null;
  try {
    final result = ImageSizeGetter.getSizeResult(MemoryInput(bytes));
    final size =
        ui.Size(result.size.width.toDouble(), result.size.height.toDouble());
    _base64SizeCache[base64String] = size;
    return size;
  } catch (e) {
    RCIMWrapperPlatform.instance
        .writeLog('ImageUtil getBase64NaturalSize error', '', 0, 'error: $e');
    return null;
  }
}