image_utils.dart 875 B

12345678910111213141516171819202122232425262728293031
  1. import 'package:cached_network_image/cached_network_image.dart';
  2. import 'package:common_utils/common_utils.dart';
  3. import 'package:flutter/material.dart';
  4. class ImageUtils {
  5. static ImageProvider getAssetImage(String name,
  6. {ImageFormat format = ImageFormat.png}) {
  7. return AssetImage(getImgPath(name, format: format));
  8. }
  9. static String getImgPath(String name,
  10. {ImageFormat format = ImageFormat.png}) {
  11. return 'assets/images/$name.${format.value}';
  12. }
  13. static ImageProvider getImageProvider(String? imageUrl,
  14. {String holderImg = 'none'}) {
  15. if (TextUtil.isEmpty(imageUrl)) {
  16. return AssetImage(getImgPath(holderImg));
  17. }
  18. return CachedNetworkImageProvider(imageUrl!);
  19. }
  20. }
  21. enum ImageFormat { png, jpg, gif, webp }
  22. extension ImageFormatExtension on ImageFormat {
  23. String get value => ['png', 'jpg', 'gif', 'webp'][index];
  24. }