dart 如何在抖动中调整图像大小?

uqdfh47h  于 2023-11-14  发布在  其他
关注(0)|答案(2)|浏览(105)

如何使用image_editor或任何其他库调整图像大小。我使用image库,但它给出错误:
D/OpenGLRenderer:-创建图像解码器失败,消息为“未实现”

wljmcqd8

wljmcqd81#

只是一个小提示:我建议包括代码片段来显示您如何尝试调整大小,以便其他人可以解释为什么错误首先发生,并帮助您按照您已经开始的方式进行调整🙏
在Flutter中有多种方法可以做到这一点,并且不太清楚您可能需要哪些方法(静态大小,动态拟合,压缩等)。我假设我们讨论的是将图像缩放到静态大小以进一步渲染。
其中之一是简单地使用ConstrainedBox作为Image上的父控件。例如,只需使用您自己的资产的路径而不是assets/vancouver.jpg,然后调整maxHeightmaxWidth(如果大小是静态的)。️

import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: ConstrainedBox(
          constraints: const BoxConstraints(maxHeight: 200.0, maxWidth: 200.0),
          child: Image.asset("assets/vancouver.jpg"),
        ),
      ),
    );
  }
}

字符串
希望对你有用!

rryofs0p

rryofs0p2#

如果你想保存小尺寸的图像文件,你可以尝试https://pub.dev/packages/flutter_image_compress这个软件包。
下面的FlutterImageCompress包的方法根据您的需要提供另一个文件,您只需降低图像文件的质量。

Future<File> testCompressAndGetFile(File file, String targetPath) async {
var result = await FlutterImageCompress.compressAndGetFile(
    file.absolute.path, targetPath,
    quality: 88,
    rotate: 180,
  );

print(file.lengthSync());
print(result.lengthSync());

return result;
  }

字符串
你可以 checkout 其他方法,以及这个包,可以帮助你实现你的目标。

相关问题