[英]Flutter display package:image/image.dart:Image in UI Widget
We can work on images in Flutter using import 'package:image/image.dart' as ToolsImage;
我们可以使用import 'package:image/image.dart' as ToolsImage;
在 Flutter中处理图像; package to scale them with ToolsImage.copyResize()
and manipulate individual pixels with ToolsImage.Image.getPixel(x,y)
包以使用ToolsImage.copyResize()
缩放它们并使用ToolsImage.Image.getPixel(x,y)
操作单个像素
To display image from memory bytes ( ByteData
/ Uint8List
/ List<int>
) we can use MemoryImage
:要显示来自内存字节( ByteData
/ Uint8List
/ List<int>
)的图像,我们可以使用MemoryImage
:
Container(child: Image(image: MemoryImage(image.data.buffer.asUint8List())))
I'm getting an exception:我遇到了一个例外:
Exception: Invalid image data
whichever List I use.无论我使用哪个列表。 What's wrong?怎么了?
Remember to add HEADER to image bytes after format conversions!记得在格式转换后将HEADER 添加到图像字节!
ByteData imageByteData = await rootBundle.load('res/images/basic/dizzy-face.png');
List<int> values = imageByteData.buffer.asUint8List();
ToolsImage.Image? photo = ToolsImage.decodeImage(values);
photo = ToolsImage.copyResize(photo!, height: 32, width: 32);
removes header information (pixel-by-pixel manipulation removes header info).删除标题信息(逐像素操作删除标题信息)。
Use:利用:
List<int>? imageWithHeader = ToolsImage.encodeNamedImage(TEST_IMAGE, ".bmp");
and then:接着:
Container(child: Image(image: MemoryImage(Uint8List.fromList(imageWithHeader))))
Last line enables us to convert package:image/image.dart
to package:flutter/src/widgets/image.dart
(UI Image Widget)最后一行使我们能够将package:image/image.dart
转换为package:flutter/src/widgets/image.dart
(UI Image Widget)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.