Flutter-SVG 파일을 비트 맵으로 변환하는 방법

아폴 레오

SVGFlutter Assets에서 Bitmap으로 파일 을 변환하는 방법은 무엇입니까?

아폴 레오

SVG로 재생하는 경우 이미 사용하고있는 flutter_svg 라이브러리 가 필요합니다 .

비트 맵 라이브러리 도 필요 합니다.


    import 'package:bitmap/bitmap.dart';
    import 'package:flutter_svg/flutter_svg.dart';

    String svgString = await DefaultAssetBundle.of(context).loadString(svg_path);
    DrawableRoot svgDrawableRoot = await svg.fromSvgString(svgString, null);
    
    // to have a nice rendering it is important to have the exact original height and width,
    // the easier way to retrieve it is directly from the svg string
    // but be careful, this is an ugly fix for a flutter_svg problem that works
    // with my images
    String temp = svgString.substring(svgString.indexOf('height="')+8);
    int originalHeight = int.parse(temp.substring(0, temp.indexOf('p')));
    temp = svgString.substring(svgString.indexOf('width="')+7);
    int originalWidth = int.parse(temp.substring(0, temp.indexOf('p')));

    // toPicture() and toImage() don't seem to be pixel ratio aware, so we calculate the actual sizes here
    double devicePixelRatio = MediaQuery.of(context).devicePixelRatio;

    double width = originalHeight * devicePixelRatio; // where 32 is your SVG's original width
    double height = originalWidth * devicePixelRatio; // same thing

    // Convert to ui.Picture
    ui.Picture picture = svgDrawableRoot.toPicture(size: Size(width, height));

    // Convert to ui.Image. toImage() takes width and height as parameters
    // you need to find the best size to suit your needs and take into account the screen DPI
    ui.Image image = await picture.toImage(width.toInt(), height.toInt());
    ByteData bytes = await image.toByteData(format: ui.ImageByteFormat.png);

    // finally to Bitmap
    Bitmap bitmap = await Bitmap.fromHeadless(width.toInt(), height.toInt(),
        bytes.buffer.asUint8List()
    );

    // if you need to save it:
    File file = File('temporary_file_path/unique_name.bmp');
    file.writeAsBytesSync(bitmap.content);

이 StackOverflow 답변에 대한 일부 크레딧

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C ++에서 Windows 비트 맵을 Actionscript 비트 맵으로 변환하는 방법

분류에서Dev

안드로이드, 비트 맵을 파일 객체로 변환하는 방법

분류에서Dev

이미지, PDF, Docx 및 Doc 파일을 비트 맵으로 변환하는 방법

분류에서Dev

LayerDrawable을 비트 맵으로 변환하는 방법은 무엇입니까?

분류에서Dev

System.Byte []를 비트 맵으로 변환하는 방법?

분류에서Dev

텍스트 파일을 그림으로 변환하는 방법

분류에서Dev

드로어 블을 크기가 조정 된 비트 맵으로 변환하는 방법

분류에서Dev

Android에서 비트 맵을 jpeg 파일로 변환하는 방법은 무엇입니까?

분류에서Dev

비디오 파일을 .mov 파일 확장명으로 변환하는 방법

분류에서Dev

해시 맵을 캐서 블 맵으로 변환하는 방법

분류에서Dev

테이블을 맵 맵으로 변환하는 방법

분류에서Dev

쌍 목록 (행렬로)을 히트 맵으로 변환하는 방법 파이썬

분류에서Dev

SVG 스타일을 JSX로 변환하는 방법

분류에서Dev

텍스트 파일을 int 배열 목록으로 변환하는 방법

분류에서Dev

flutter에서 비디오 파일로 gif 파일을 만드는 방법

분류에서Dev

프로그래밍 방식으로 비트 맵을 변경하는 방법은 무엇입니까?

분류에서Dev

UWP에서 비디오의 프레임을 비트 맵으로 읽는 방법

분류에서Dev

.NET으로 SVG 파일을 인쇄하는 방법

분류에서Dev

안드로이드 코드를 압축 비트 맵에서 reszie 또는 스케일링 된 비트 맵으로 변경하는 방법은 무엇입니까?

분류에서Dev

R에서 행렬을 원시 비트 맵으로 작성하는 방법

분류에서Dev

R에서 작은 양으로 비트 맵을 회전하는 방법

분류에서Dev

조각에서 활동으로 비트 맵을 전달하는 방법?

분류에서Dev

LaTeX 방정식을 SVG로 변환하는 방법?

분류에서Dev

이미지 맵을 SVG로 변환하는 동안 좌표를 변경하는 방법은 무엇입니까?

분류에서Dev

Groovy 맵을 JSON으로 변환하는 방법

분류에서Dev

제스처 감지기로 onTap 후 SVG를 변경하는 방법을 Flutter

분류에서Dev

자바 스크립트에서 두 배열을 맵으로 변환하는 방법

분류에서Dev

16 비트 unsigned interger의 배열을 비트로 변환하는 빠른 방법

분류에서Dev

xml 심포니 서비스 파일을 yaml로 변환하는 방법

Related 관련 기사

  1. 1

    C ++에서 Windows 비트 맵을 Actionscript 비트 맵으로 변환하는 방법

  2. 2

    안드로이드, 비트 맵을 파일 객체로 변환하는 방법

  3. 3

    이미지, PDF, Docx 및 Doc 파일을 비트 맵으로 변환하는 방법

  4. 4

    LayerDrawable을 비트 맵으로 변환하는 방법은 무엇입니까?

  5. 5

    System.Byte []를 비트 맵으로 변환하는 방법?

  6. 6

    텍스트 파일을 그림으로 변환하는 방법

  7. 7

    드로어 블을 크기가 조정 된 비트 맵으로 변환하는 방법

  8. 8

    Android에서 비트 맵을 jpeg 파일로 변환하는 방법은 무엇입니까?

  9. 9

    비디오 파일을 .mov 파일 확장명으로 변환하는 방법

  10. 10

    해시 맵을 캐서 블 맵으로 변환하는 방법

  11. 11

    테이블을 맵 맵으로 변환하는 방법

  12. 12

    쌍 목록 (행렬로)을 히트 맵으로 변환하는 방법 파이썬

  13. 13

    SVG 스타일을 JSX로 변환하는 방법

  14. 14

    텍스트 파일을 int 배열 목록으로 변환하는 방법

  15. 15

    flutter에서 비디오 파일로 gif 파일을 만드는 방법

  16. 16

    프로그래밍 방식으로 비트 맵을 변경하는 방법은 무엇입니까?

  17. 17

    UWP에서 비디오의 프레임을 비트 맵으로 읽는 방법

  18. 18

    .NET으로 SVG 파일을 인쇄하는 방법

  19. 19

    안드로이드 코드를 압축 비트 맵에서 reszie 또는 스케일링 된 비트 맵으로 변경하는 방법은 무엇입니까?

  20. 20

    R에서 행렬을 원시 비트 맵으로 작성하는 방법

  21. 21

    R에서 작은 양으로 비트 맵을 회전하는 방법

  22. 22

    조각에서 활동으로 비트 맵을 전달하는 방법?

  23. 23

    LaTeX 방정식을 SVG로 변환하는 방법?

  24. 24

    이미지 맵을 SVG로 변환하는 동안 좌표를 변경하는 방법은 무엇입니까?

  25. 25

    Groovy 맵을 JSON으로 변환하는 방법

  26. 26

    제스처 감지기로 onTap 후 SVG를 변경하는 방법을 Flutter

  27. 27

    자바 스크립트에서 두 배열을 맵으로 변환하는 방법

  28. 28

    16 비트 unsigned interger의 배열을 비트로 변환하는 빠른 방법

  29. 29

    xml 심포니 서비스 파일을 yaml로 변환하는 방법

뜨겁다태그

보관