我正在从事油漆项目,我需要显示视频列表,效果很好。但是当视频正在播放时,它会codec does not support config priority (err -2147483648)在控制台中显示一些内容,我在这里使用ImagePicker从相机录制视频并传递到VideoPlayerController.
class VideoScaling extends StatefulWidget {
@override
_VideoScalingState createState() => new _VideoScalingState();
}
class _VideoScalingState extends State<VideoScaling> {
VideoPlayerController videoController;
bool _isPlaying = false;
var _videoPath;
String _videoP;
VoidCallback videoPlayerListener;
List<VideoPlayerController> _listOfVideos = [];
void _video() async {
_videoPath =
await ImagePicker.pickVideo(source: ImageSource.camera).then((p) {
_videoP = p.path;
});
_startVideoPlayer();
}
VideoPlayerController vcontroller;
Future<void> _startVideoPlayer() async {
// print('path video: ${_videoP}');
vcontroller = new VideoPlayerController.file(new File(_videoP));
videoPlayerListener = …Run Code Online (Sandbox Code Playgroud) 当我旋转屏幕时,它的相机会随着屏幕旋转,所以我得到了倒置的相机屏幕。
return new AspectRatio(
aspectRatio: controller.value.aspectRatio,
child: new CameraPreview(controller),
);
Run Code Online (Sandbox Code Playgroud) 在这里,我将图像列表传递给 ImagePaint 类,以将图像剪切为圆形,图像被剪切很好,但只剪切图像的某些部分,如果我可以减小图像的高度和宽度。然后就适合圆圈了,有想法的请评论。
void paint(Canvas canvas, Size size) {
int c = 0;
canvas.save();
canvas.translate(size.width / 2, size.height / 2);
canvas.rotate(-rotation);
for (var i = 0; i < 16; ++i) {
if (i % 2 == 0) {
canvas.drawLine(
new Offset(0.0, 0.0),
new Offset(0.0, size.width / 2 - 4.2),
tickPaint,
);
} else {
canvas.save();
canvas.translate(-0.0, -((size.width) / 2));
canvas.clipPath(path);
if (images[c] != null) {
ui.Image img = images[c];
canvas.drawImage(img, Offset(0.0, 0.0), new Paint());
}
canvas.rotate(2 * pi);
canvas.restore();
c++; …Run Code Online (Sandbox Code Playgroud) 我想在这里打开画廊目录,我正在使用此代码,但显示了我想打开唯一画廊的所有选项。
List images;
int maxImageNo = 10;
bool selectSingleImage = false;
File _imageFile;
_pickImageFromGallery() async {
File file;
String result;
try {
result = await FlutterImagePickCrop.pickAndCropImage(_gallery);
} on PlatformException catch (e) {
result = e.message;
print(e.message);
}
if (!mounted) return;
setState(() {
imageFile = new File(result);
_platformMessage = result;
});}
Run Code Online (Sandbox Code Playgroud)
我正在开发一个 Paint 应用程序,其中我正在实现类似于 MS Paint 应用程序的 BucketFill 功能。
我已经使用几种 FloodFill 算法对其进行了编码,但是填充颜色过程花费了太多时间。
我不太确定其背后的原因可能是由于低缓存内存、糟糕的算法,或者可能需要花费大量时间来计算偏移量。
有人可以帮助我了解您在 Flutter/Dart 方面的知识吗?
尝试的算法:
最重要的是,性能非常慢
import 'dart:collection';
import 'dart:math';
import 'package:flutter/material.dart';
import 'dart:ui';
import 'dart:async';
import 'package:flutter/rendering.dart';
import 'dart:typed_data';
import 'dart:ui' as ui;
class BucketFill {
List<Offset> _points = <Offset>[];
Uint32List words;
static int width;
Color oldColor, pixel;
int imageWidth;
int imageHeight;
Future<List> capturePng(GlobalKey key, Offset offset) async {
RenderRepaintBoundary boundary = key.currentContext.findRenderObject();
ui.Image image = await boundary.toImage();
final rgbaImageData = …Run Code Online (Sandbox Code Playgroud) 我想打开一个showBottomSheet。这是我的代码,可以正常工作,我可以打开ButtomSheet,但是没有提供透明效果。我可以在此表的后面看到,即使我也尝试了Opacity也不起作用。
showBottomSheet(
context: context,
builder: (context) {
return Opacity(
opacity: .1,
child: Container(
height: 400.0,
color: Colors.transparent,
),
);
});
Run Code Online (Sandbox Code Playgroud)