반응형
질문
다음과 같이 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);
반응형
댓글