Switch to FilterQuality.medium for images (flutter/engine#52984)

https://github.com/flutter/flutter/issues/148253
This commit is contained in:
Michael Goderbauer
2024-05-29 13:02:17 -07:00
committed by GitHub
parent b3b2f46853
commit c7f659ac91
3 changed files with 11 additions and 2 deletions

View File

@@ -3740,7 +3740,7 @@ abstract class ImageFilter {
/// For example, applying a positive scale matrix (see [Matrix4.diagonal3])
/// when used with [BackdropFilter] would magnify the background image.
factory ImageFilter.matrix(Float64List matrix4,
{ FilterQuality filterQuality = FilterQuality.low }) {
{ FilterQuality filterQuality = FilterQuality.medium }) {
if (matrix4.length != 16) {
throw ArgumentError('"matrix4" must have 16 entries.');
}

View File

@@ -439,7 +439,7 @@ class ImageFilter {
factory ImageFilter.erode({ double radiusX = 0.0, double radiusY = 0.0 }) =>
engine.renderer.createErodeImageFilter(radiusX: radiusX, radiusY: radiusY);
factory ImageFilter.matrix(Float64List matrix4, {FilterQuality filterQuality = FilterQuality.low}) {
factory ImageFilter.matrix(Float64List matrix4, {FilterQuality filterQuality = FilterQuality.medium}) {
if (matrix4.length != 16) {
throw ArgumentError('"matrix4" must have 16 entries.');
}

View File

@@ -6,6 +6,7 @@ import 'dart:typed_data';
import 'dart:ui';
import 'package:litetest/litetest.dart';
import 'package:vector_math/vector_math_64.dart';
typedef CanvasCallback = void Function(Canvas canvas);
@@ -103,4 +104,12 @@ void main() {
whitePicture.dispose();
redClippedPicture.dispose();
});
test('ImageFilter.matrix defaults to FilterQuality.medium', () {
final Float64List data = Matrix4.identity().storage;
expect(
ImageFilter.matrix(data).toString(),
'ImageFilter.matrix($data, FilterQuality.medium)',
);
});
}