-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Description
Steps to Reproduce
If I run the following code it should draw a straight line on the screen. Instead of this it seems that canvas.drawImage put nothing on the canvas just the drawLine function is displayed.
import 'dart:developer';
import 'dart:typed_data';
import 'dart:ui' as ui;
Duration timeBase;
double x = 0.0;
double y = 0.0;
int i = 0;
ui.Image image;
void beginFrame(Duration timeStamp){
Timeline.timeSync('beginFrame',(){
if(timeBase == null)timeBase = timeStamp;
final double devicePixelRatio = ui.window.devicePixelRatio;
// paint
ui.Rect paintBounds = ui.Offset.zero & ui.window.physicalSize;
ui.PictureRecorder recorder = new ui.PictureRecorder();
ui.Canvas canvas = new ui.Canvas(recorder,paintBounds);
if(image != null){
canvas.drawImage(image,ui.Offset.zero,new ui.Paint());
}
var paint = new ui.Paint();
paint.color = const ui.Color.fromARGB(255,0,255,0);
paint.strokeCap = ui.StrokeCap.round;
paint.strokeWidth = 17.0;
canvas.drawLine(new ui.Offset(x,y),new ui.Offset(x + 25,y + 25),paint);
x = x + 1;
if(x > ui.window.physicalSize.width / devicePixelRatio){
x = x - ui.window.physicalSize.width / devicePixelRatio;
}
y = y + 1;
if(y > ui.window.physicalSize.height / devicePixelRatio){
y = y - ui.window.physicalSize.height / devicePixelRatio;
}
ui.Picture picture = recorder.endRecording();
image = picture.toImage(ui.window.physicalSize.width.toInt(),ui.window.physicalSize.height.toInt());
// composite
Float64List deviceTransform = new Float64List(16)
..[0] = devicePixelRatio
..[5] = devicePixelRatio
..[10] = 1.0
..[15] = 1.0;
ui.SceneBuilder sceneBuilder = new ui.SceneBuilder()
..pushTransform(deviceTransform)
..addPicture(ui.Offset.zero,picture)
..pop();
ui.window.render(sceneBuilder.build());
});
ui.window.scheduleFrame();
}
void main() {
ui.window.onBeginFrame = beginFrame;
ui.window.scheduleFrame();
}Logs
Launching lib\main.dart on ZTE V967S in debug mode...
Built build\app/outputs/apk/app-debug.apk (21.5MB).
I/SurfaceTextureClient( 9752): [STC::queueBuffer] (this:0x5d457c18) fps:65.19, dur:1012.46, max:16.37, min:13.97
I/SurfaceTextureClient( 9752): [STC::queueBuffer] (this:0x5d457c18) fps:65.21, dur:1012.15, max:20.67, min:9.65
I/SurfaceTextureClient( 9752): [STC::queueBuffer] (this:0x5d457c18) fps:65.05, dur:1014.66, max:17.36, min:13.24
I/SurfaceTextureClient( 9752): [STC::queueBuffer] (this:0x5d457c18) fps:65.22, dur:1011.89, max:18.00, min:12.92
I/SurfaceTextureClient( 9752): [STC::queueBuffer] (this:0x5d457c18) fps:65.12, dur:1013.48, max:30.47, min:2.36
I/SurfaceTextureClient( 9752): [STC::queueBuffer] (this:0x5d457c18) fps:64.99, dur:1000.19, max:34.94, min:4.09
I/SurfaceTextureClient( 9752): [STC::queueBuffer] (this:0x5d457c18) fps:61.94, dur:1017.09, max:31.41, min:9.94
I/SurfaceTextureClient( 9752): [STC::queueBuffer] (this:0x5d457c18) fps:65.35, dur:1010.01, max:19.08, min:11.16
I/SurfaceTextureClient( 9752): [STC::queueBuffer] (this:0x5d457c18) fps:63.58, dur:1006.61, max:28.03, min:7.28
I/SurfaceTextureClient( 9752): [STC::queueBuffer] (this:0x5d457c18) fps:65.29, dur:1010.86, max:16.74, min:13.57
I/SurfaceTextureClient( 9752): [STC::queueBuffer] (this:0x5d457c18) fps:65.63, dur:1005.58, max:28.71, min:2.83
Flutter Doctor
C:/Users/vikkesz/flutter/flutter/bin/flutter.bat --no-color doctor
[√] Flutter (on Microsoft Windows [Version 6.1.7601], channel alpha)
• Flutter at C:\Users\vikkesz\flutter\flutter
• Framework revision 9f1d5ba (6 days ago), 2017-05-09 17:06:52 -0700
• Engine revision cbbf956
• Tools Dart version 1.23.0-dev.11.11
[√] Android toolchain - develop for Android devices (Android SDK 25.0.3)
• Android SDK at C:\Users\vikkesz\AppData\Loca\Android\sdk
• Platform android-25, build-tools 25.0.3
• ANDROID_HOME = C:\Users\vikkesz\AppData\Loca\Android\sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version: OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[√] Android Studio (version 2.3)
• Android Studio at C:\Program Files\Android\Android Studio
• Gradle version 3.2
• Java version: OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[√] IntelliJ IDEA Community Edition (version 2016.2)
• Dart plugin version 162.2924
• Flutter plugin version 0.1.11.1
[√] Connected devices
• ZTE V967S • 0123456789ABCDEF • android-arm • Android 4.2.1 (API 17)