addTextWatermarkCentered static method

Uint8List addTextWatermarkCentered(
  1. Uint8List imgBytes,
  2. String watermarkText,
  3. int dstX,
  4. int dstY, {
  5. BitmapFont? font,
  6. Color color = Colors.black,
  7. bool rightJustify = false,
})

Implementation

static Uint8List addTextWatermarkCentered(
  Uint8List imgBytes,
  String watermarkText,
  int dstX,
  int dstY, {
  ui.BitmapFont? font,
  Color color = Colors.black,
  bool rightJustify = false,
}) {
  try {
    ///Original Image
    final originalImage = ui.decodeImage(imgBytes)!;

    ///Add Watermark
    ui.drawString(
      originalImage,
      watermarkText,
      font: font ?? ui.arial48,
      x: dstX,
      y: dstY,
      wrap: true,
      rightJustify: rightJustify,
    );

    ///Encode image to PNG
    final wmImage = ui.encodePng(originalImage);

    ///Get the result
    final result = Uint8List.fromList(wmImage);
    return result;
  } catch (e, stackTrace) {
    ErrorReporter.log(e, stackTrace);
    return imgBytes;
  }
}