Flutter共享图像时如何在图像上添加水印



这是我的代码图像共享现在我想分享一些文本水印图像上…!我看到这样的文章,他们展示了drwaString,但没有得到…你能帮帮我吗??在…上加水印分享按钮. .

void _onShare() async {
var request = await HttpClient().getUrl(Uri.parse(imagepath));
var response = await request.close();
Uint8List bytes = await consolidateHttpClientResponseBytes(response);
await Share.file('ESYS AMLOG', '.jpg', bytes, 'image/jpg',text: "Hello");
}

您可以使用图像包

完整的教程可以在这篇中等大小的文章中找到,但你可以看看这个片段

import 'package:image/image.dart' as ui;
class _MyHomePageState extends State<MyHomePage> {

File _originalImage;
File _watermarkImage;
File _watermarkedImage;

applyWaterMark() async {
ui.Image originalImage = ui.decodeImage(_originalImage.readAsBytesSync());
ui.Image watermarkImage = ui.decodeImage(_watermarkImage.readAsBytesSync());
// add watermark over originalImage
// initialize width and height of watermark image
ui.Image image = ui.Image(160, 50);
ui.drawImage(image, watermarkImage);
// give position to watermark over image
// originalImage.width - 160 - 25 (width of originalImage - width of watermarkImage - extra margin you want to give)
// originalImage.height - 50 - 25 (height of originalImage - height of watermarkImage - extra margin you want to give)
ui.copyInto(originalImage,image, dstX: originalImage.width - 160 - 25, dstY: originalImage.height - 50 - 25);

// for adding text over image
// Draw some text using 24pt arial font
// 100 is position from x-axis, 120 is position from y-axis
ui.drawString(originalImage, ui.arial_24, 100, 120, 'Think Different');
// Store the watermarked image to a File
List<int> wmImage = ui.encodePng(originalImage);
setState(() {
_watermarkedImage = File.fromRawPath(Uint8List.fromList(wmImage));
});
}
}

最新更新