adjustDocumentContrast method

  1. @override
Future<String> adjustDocumentContrast(
  1. String base64Image,
  2. double contrast
)
override

Implementation

@override
Future<String> adjustDocumentContrast(String base64Image, double contrast) {
  final completer = Completer<String>();
  final html.ImageElement imageElement = html.ImageElement()
    ..src = 'data:image/jpeg;base64,$base64Image';

  imageElement.onLoad.listen((event) {
    final html.CanvasElement canvas = html.CanvasElement();

    canvas.width = imageElement.width;
    canvas.height = imageElement.height;

    final html.CanvasRenderingContext2D context =
        canvas.getContext('2d') as html.CanvasRenderingContext2D;

    context.filter = "contrast($contrast%)";
    context.drawImage(imageElement, 0, 0);

    // Now I plot the image bounded by corners to canvas

    final result = canvas.toDataUrl().split(',').last;
    completer.complete(result);
  });

  return completer.future;
}