jaz*_*bpn 3 pdf image image-processing flutter flutter-layout
PdfImage 需要Uint8List作为参数,但我有ImageProvider。那么我们如何在flutter中将image转为uint8list呢?
var imageProvider = AssetImage('assets/test.jpg');
final image = PdfImage(
pdf.document,
image:???, /// Uint8List required
width: img.width,
height: img.height,
);
Run Code Online (Sandbox Code Playgroud)
用 rootBundle.load()
(await rootBundle.load(/*YOUR IMAGE PATH HERE*/)).buffer.asUint8List()
Run Code Online (Sandbox Code Playgroud)
作为load()异步操作,您需要等到数据完全加载。在此之前尝试用一些加载指示器替换 UI。
ByteData imageData;
@override
void initState() {
rootBundle.load('assets/test.jpg')
.then((data) => setState(() => this.imageData = data));
}
@override
Widget build(BuildContext context) {
if (imageData == null) {
return Center(child: CircularProgressIndicator());
}
final image = PdfImage(
pdf.document,
image: imageData.buffer.asUint8List(),
width: img.width,
height: img.height,
);
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12298 次 |
| 最近记录: |