如何解决颤动水印无响应
我正在处理颤振中的水印我在谷歌上看过著名的文章但是当我尝试转换两个图像时没有任何反应!我被困在这里 10 天了....!请给我任何代码或在此处重写以解决我的以下错误
我看过这篇文章 https://medium.com/flutter-community/add-watermark-over-image-in-flutter-e7353e3cf603
import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
import 'package:image/image.dart' as ui;
import 'dart:ui';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',home: HomePage(),);
}
}
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
File _originalImage;
File _watermarkImage;
File _watermarkedImage;
final picker = ImagePicker();
Future getOriginalImage() async {
final pickedFile = await picker.getImage(source: ImageSource.gallery,imageQuality: 50,maxWidth:
200,maxHeight: 200);
setState(() {
_originalImage = File(pickedFile.path);
});
}
Future getWatermarkImage() async {
final pickedFile = await picker.getImage(source: ImageSource.gallery,maxWidth:
200,maxHeight: 200);
setState(() {
_watermarkImage = File(pickedFile.path);
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,home: Scaffold(
appBar: AppBar(title: Text("Watermark Example"),),body: Center(
child: Column(
children: <Widget>[
//<--------------- select original image ---------------->
_originalImage==null? FlatButton(
child: Text("Select Original Image"),onPressed: getOriginalImage,)
: Container(
height: 200,width: 200,child: Image.file(_originalImage)),//<--------------- select watermark image ---------------->
_watermarkImage==null? FlatButton(
child: Text("Select Watermark Image"),onPressed: getWatermarkImage,)
: Container(
height: 50,width: 50,child: Image.file(_watermarkImage)),SizedBox(height: 50,//<--------------- apply watermark over image ---------------->
(_originalImage!=null)&&(_watermarkImage!=null)?
FlatButton(
child: Text("Apply Watermark Over Image"),onPressed: () 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);
print("image : " + image.toString());
// 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,dstY:
originalImage.height);
// 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');
Uint8List wmImage = ui.encodePng(originalImage);
setState(() {
print("wmImage : " + wmImage.toString());
_watermarkedImage = File.fromRawPath(wmImage);
});
},)
: Container(),//<--------------- display watermarked image ---------------->
_watermarkedImage!=null?
Container(
height: 100,width: 100,child: Image.file(_watermarkedImage))
: Container(),],);
}
}
我收到此类错误...:
无法打开文件,路径 = '�PNG
J|ؚ��s����� D�l�O����_����ֲ뗭�Gb� m�S?�q��.����SL�Rh��Fa �@_��� ���cm ��]�$�f.�4EJ-�M+Q�m����ْOw��t�|�4^��wL��cy�2wf֭x�ʧ�f�t,�<�61S��{�O�酲�E͈F!�G�UQYS�B�|>�L�K27�e�)m��L�lIC.8��_�a�)OʅY�_�v�t;3���(���5�:��N�vΏf�G�;XF������1�O��'�s&�E4����B�QU ���kVO�#skUhP�%��Z��L\d����ԳXy iP�Y�Try��u]JI�Y(��bQ�-�)�?��y�|V�YPQ0���:xR,I�j� ��ة5�9k�<��z���-���a�FB�~��H�b�
C(� �bd4��ã,�SZ�� LR �Y��Ō58� &�༆�UkN7}cc�V�p�>�c�x�x
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。