Doc*_*Doc 5 image flutter flutter-layout
如何将图像分割成大小相等的部分?只需从资产中获取图像并以类似网格的方式将其分成相等的部分,以便每个图像部分都可以用作单独的图像。
您可以使用此包 ( https://pub.dev/packages/image ) 使用函数 copyCrop 从资产中裁剪图像。将它们保存到 List 然后像您的示例一样显示。
编辑:
如果您知道如何裁剪图像,我认为您知道如何分割图像并像示例一样显示它们,所以我只向您展示如何将图像从资产更改为图像包的图像以进行裁剪。
List<Image> splitImage(List<int> input) {
// convert image to image from image package
imglib.Image image = imglib.decodeImage(input);
int x = 0, y = 0;
int width = (image.width / 3).round();
int height = (image.height / 3).round();
// split image to parts
List<imglib.Image> parts = List<imglib.Image>();
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
parts.add(imglib.copyCrop(image, x, y, width, height));
x += width;
}
x = 0;
y += height;
}
// convert image from image package to Image Widget to display
List<Image> output = List<Image>();
for (var img in parts) {
output.add(Image.memory(imglib.encodeJpg(img)));
}
return output;
}
Run Code Online (Sandbox Code Playgroud)
请记住将此导入 'package:image/image.dart' 添加为 imglib;