ImageData constructor

ImageData(
  1. dynamic dataOrSw,
  2. int shOrSw, [
  3. int? sh
])

Implementation

factory ImageData(dynamic dataOrSw, int shOrSw, [int? sh]) {
  if (dataOrSw is int) {
    final width = dataOrSw;
    final height = shOrSw;
    final data = Uint8ClampedList(4 * width * height);
    return ImageData._(data, width, height);
  } else if (dataOrSw is List<int>) {
    final data = Uint8ClampedList.fromList(dataOrSw);
    final width = shOrSw;
    final height = sh ?? data.lengthInBytes ~/ (width * 4);
    return ImageData._(data, width, height);
  } else {
    throw ArgumentError.value(dataOrSw);
  }
}