fix: Apply platform-specific Y-axis scaling to face filter images.

This commit is contained in:
otsmr 2026-01-18 02:43:09 +01:00
parent 42cc6db0e2
commit d83e9a26c4
2 changed files with 5 additions and 3 deletions

View file

@ -1,4 +1,5 @@
import 'dart:async';
import 'dart:io';
import 'dart:math';
import 'dart:ui' as ui;
import 'package:flutter/material.dart';
@ -140,7 +141,7 @@ class BeardFilterPainter extends FaceFilterPainter {
..save()
..translate(position.dx, position.dy)
..rotate(rotation)
..scale(scaleX, -1);
..scale(scaleX, Platform.isAndroid ? -1 : 1);
final srcRect =
Rect.fromLTWH(0, 0, image.width.toDouble(), image.height.toDouble());

View file

@ -1,4 +1,5 @@
import 'dart:async';
import 'dart:io';
import 'dart:math';
import 'dart:ui' as ui;
import 'package:flutter/material.dart';
@ -180,9 +181,9 @@ class DogFilterPainter extends FaceFilterPainter {
..translate(position.dx, position.dy)
..rotate(rotation);
if (isFlipped) {
canvas.scale(-scaleX, -1);
canvas.scale(-scaleX, Platform.isAndroid ? -1 : 1);
} else {
canvas.scale(scaleX, -1);
canvas.scale(scaleX, Platform.isAndroid ? -1 : 1);
}
final srcRect =