Flutter/Flutter FAQ

Flutter 플러터에서 이미지의 너비와 높이를 어떻게 결정할까요?, How do I determine the width and height of an image in Flutter?

독학코딩 2023. 12. 18. 09:14
반응형

질문


다음과 같이 pubspec.yaml에서 이미지를 선언했다고 가정합니다:

  assets:
    - assets/kitten.jpg

그리고 내 Flutter 코드는 다음과 같습니다:

void main() {
  runApp(
    new Center(
      child: new Image.asset('assets/kitten.jpg'),
    ),
  );
}

이제 new Image.asset()이 있으므로 해당 이미지의 너비와 높이를 어떻게 결정할 수 있을까요? 예를 들어, 이미지의 너비와 높이만 출력하고 싶습니다.

(dart:ui의 Image 클래스에는 너비와 높이가 있지만, 위젯의 Image에서 dart:ui의 Image로 어떻게 이동해야 하는지는 확실하지 않습니다.)

감사합니다!


답변


다른 답변들은 이미지의 너비와 높이를 비동기 함수에서 가져오는 경우에 지나치게 복잡해 보입니다. 다음과 같이 직접적으로 플러터 라이브러리를 사용하여 이미지 해상도를 얻을 수 있습니다:

import 'dart:io';
import 'dart:ui';

File image = new File('image.png'); // 또는 파일 인스턴스를 얻는 다른 방법.
var decodedImage = await decodeImageFromList(image.readAsBytesSync());
print(decodedImage.width);
print(decodedImage.height);
반응형