getBase64NaturalSize static method

Size? getBase64NaturalSize(
  1. String? value
)

Implementation

static ui.Size? getBase64NaturalSize(String? value) {
  if (value == null || value.isEmpty) {
    return null;
  }
  final cached = _base64SizeCache.remove(value);
  if (cached != null) {
    _base64SizeCache[value] = cached;
    return cached;
  }
  final bytes = getDecodedBase64(value);
  if (bytes == null) {
    return null;
  }
  try {
    final result = image_size_getter.ImageSizeGetter.getSizeResult(
      image_size_getter.MemoryInput(bytes),
    );
    final size = ui.Size(
      result.size.width.toDouble(),
      result.size.height.toDouble(),
    );
    _base64SizeCache[value] = size;
    _trimCache(_base64SizeCache, _maxSizeCacheEntries);
    return size;
  } catch (_) {
    return null;
  }
}