From 7343c41508ad295d5f413ecc1afb5df721da2c64 Mon Sep 17 00:00:00 2001 From: "Soto.Poul" Date: Fri, 3 Mar 2023 15:42:53 +0800 Subject: [PATCH 1/5] feat: update flutter_ume_kit_ui --- .../components/color_sucker/color_sucker.dart | 16 ++++----- .../lib/third_party/cyclop/lib/src/utils.dart | 35 ++++++++----------- .../widgets/eyedrop/eye_dropper_layer.dart | 1 - .../lib/third_party/cyclop/pubspec.yaml | 8 ++--- kits/flutter_ume_kit_ui/pubspec.yaml | 8 ++--- 5 files changed, 30 insertions(+), 38 deletions(-) diff --git a/kits/flutter_ume_kit_ui/lib/components/color_sucker/color_sucker.dart b/kits/flutter_ume_kit_ui/lib/components/color_sucker/color_sucker.dart index 09f20a8..6019bb0 100644 --- a/kits/flutter_ume_kit_ui/lib/components/color_sucker/color_sucker.dart +++ b/kits/flutter_ume_kit_ui/lib/components/color_sucker/color_sucker.dart @@ -1,9 +1,11 @@ import 'dart:typed_data'; import 'dart:ui' as ui; + import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; -import 'package:image/image.dart' as img; import 'package:flutter_ume/flutter_ume.dart'; +import 'package:image/image.dart' as img; + import 'icon.dart' as icon; class ColorSucker extends StatefulWidget implements Pluggable { @@ -129,15 +131,11 @@ class _ColorSuckerState extends State { if (_snapshot == null) return; double px = globalPosition.dx; double py = globalPosition.dy; - int pixel32 = _snapshot!.getPixelSafe(px.toInt(), py.toInt()); - int hex = _abgrToArgb(pixel32); - _currentColor = Color(hex); - } - int _abgrToArgb(int argbColor) { - int r = (argbColor >> 16) & 0xFF; - int b = argbColor & 0xFF; - return (argbColor & 0xFF00FF00) | (b << 16) | r; + img.Pixel pixel = _snapshot!.getPixelSafe(px.toInt(), py.toInt()); + + _currentColor = Color.fromARGB( + pixel.a.toInt(), pixel.r.toInt(), pixel.g.toInt(), pixel.b.toInt()); } @override diff --git a/kits/flutter_ume_kit_ui/lib/third_party/cyclop/lib/src/utils.dart b/kits/flutter_ume_kit_ui/lib/third_party/cyclop/lib/src/utils.dart index 4359eaf..3a39bd6 100644 --- a/kits/flutter_ume_kit_ui/lib/third_party/cyclop/lib/src/utils.dart +++ b/kits/flutter_ume_kit_ui/lib/third_party/cyclop/lib/src/utils.dart @@ -1,10 +1,9 @@ +import 'dart:async'; import 'dart:ui' as ui; -import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:image/image.dart' as img; - //bool get isPhoneScreen => !(screenSize.shortestSide >= 600); Size get screenSize => ui.window.physicalSize / ui.window.devicePixelRatio; @@ -92,36 +91,32 @@ List getPixelColors( ), ); -Color getPixelColor(img.Image image, Offset offset) => (offset.dx >= 0 && - offset.dy >= 0 && - offset.dx < image.width && - offset.dy < image.height) - ? abgr2Color(image.getPixel(offset.dx.toInt(), offset.dy.toInt())) - : const Color(0x00000000); +ui.Color getPixelColor(img.Image image, Offset offset) { + img.Pixel pixel = image.getPixelSafe(offset.dx.toInt(), offset.dy.toInt()); + + return (offset.dx >= 0 && + offset.dy >= 0 && + offset.dx < image.width && + offset.dy < image.height) + ? Color.fromARGB( + pixel.a.toInt(), pixel.r.toInt(), pixel.g.toInt(), pixel.b.toInt()) + : const Color(0x00000000); +} ui.Offset _offsetFromIndex(int index, int numColumns) => Offset( (index % numColumns).toDouble(), ((index ~/ numColumns) % numColumns).toDouble(), ); -Color abgr2Color(int value) { - final a = (value >> 24) & 0xFF; - final b = (value >> 16) & 0xFF; - final g = (value >> 8) & 0xFF; - final r = (value >> 0) & 0xFF; - - return Color.fromARGB(a, r, g, b); -} - Future repaintBoundaryToImage( RenderRepaintBoundary renderer, ) async { try { final rawImage = await renderer.toImage(pixelRatio: 1); - final byteData = - await rawImage.toByteData(format: ui.ImageByteFormat.rawRgba); + final byteData = await rawImage.toByteData(format: ui.ImageByteFormat.png); final pngBytes = byteData!.buffer.asUint8List(); - return img.Image.fromBytes(rawImage.width, rawImage.height, pngBytes); + + return img.decodeImage(pngBytes); } catch (err) { return null; } diff --git a/kits/flutter_ume_kit_ui/lib/third_party/cyclop/lib/src/widgets/eyedrop/eye_dropper_layer.dart b/kits/flutter_ume_kit_ui/lib/third_party/cyclop/lib/src/widgets/eyedrop/eye_dropper_layer.dart index dee12a2..f02698f 100644 --- a/kits/flutter_ume_kit_ui/lib/third_party/cyclop/lib/src/widgets/eyedrop/eye_dropper_layer.dart +++ b/kits/flutter_ume_kit_ui/lib/third_party/cyclop/lib/src/widgets/eyedrop/eye_dropper_layer.dart @@ -1,6 +1,5 @@ import 'dart:ui'; -import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; import 'package:image/image.dart' as img; diff --git a/kits/flutter_ume_kit_ui/lib/third_party/cyclop/pubspec.yaml b/kits/flutter_ume_kit_ui/lib/third_party/cyclop/pubspec.yaml index 251b854..d08dc7a 100644 --- a/kits/flutter_ume_kit_ui/lib/third_party/cyclop/pubspec.yaml +++ b/kits/flutter_ume_kit_ui/lib/third_party/cyclop/pubspec.yaml @@ -9,13 +9,13 @@ environment: dependencies: flutter: sdk: flutter - image: ^3.0.5 - quiver: ^3.0.1 - basics: ^0.6.0 + image: ^4.0.15 + quiver: ^3.2.1 + basics: ^0.10.0 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^1.0.4 + flutter_lints: ^2.0.1 flutter: diff --git a/kits/flutter_ume_kit_ui/pubspec.yaml b/kits/flutter_ume_kit_ui/pubspec.yaml index 8297e11..5f19b68 100644 --- a/kits/flutter_ume_kit_ui/pubspec.yaml +++ b/kits/flutter_ume_kit_ui/pubspec.yaml @@ -13,15 +13,15 @@ dependencies: flutter_ume: ">=1.0.0 <2.0.0" touch_indicator: ^2.0.0 - # for Cyclop - image: ^3.0.5 - quiver: ^3.0.1 + # for Cyclops + image: ^4.0.15 + quiver: ^3.2.1 basics: ">=0.6.0 <0.11.0" dev_dependencies: flutter_test: sdk: flutter - mockito: ^5.0.12 + mockito: ^5.3.2 flutter_coverage_badge: git: url: https://github.com/smileShirely/flutter_coverage_badge.git From 2de2d48d330ff7ca1575fdcc99136ceaf693a8ea Mon Sep 17 00:00:00 2001 From: "Soto.Poul" Date: Fri, 3 Mar 2023 15:55:40 +0800 Subject: [PATCH 2/5] feat: update flutter_ume_kit_ui version --- kits/flutter_ume_kit_ui/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kits/flutter_ume_kit_ui/pubspec.yaml b/kits/flutter_ume_kit_ui/pubspec.yaml index 5f19b68..e8ffc43 100644 --- a/kits/flutter_ume_kit_ui/pubspec.yaml +++ b/kits/flutter_ume_kit_ui/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_ume_kit_ui description: UI Kits for flutter_ume. -version: 1.1.0 +version: 1.1.1 homepage: https://github.com/bytedance/flutter_ume environment: From 0e40681a92eedc58f2130d5f4c4fab3bbb727144 Mon Sep 17 00:00:00 2001 From: "Soto.Poul" Date: Fri, 3 Mar 2023 16:14:13 +0800 Subject: [PATCH 3/5] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kits/flutter_ume_kit_ui/CHANGELOG.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kits/flutter_ume_kit_ui/CHANGELOG.md b/kits/flutter_ume_kit_ui/CHANGELOG.md index c8c5ec6..1b777d2 100644 --- a/kits/flutter_ume_kit_ui/CHANGELOG.md +++ b/kits/flutter_ume_kit_ui/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 1.1.1 + +* image: ^3.0.5 升级到 image: ^4.0.15 + +* quiver: ^3.0.1 升级到 quiver: ^3.2.1 + +* mockito: ^5.0.12 升级到 mockito: ^5.3.2 + + ## 1.1.0 * 适配 Flutter 3.7,不兼容旧版本的适配 From 3844c6011622908334e9582d70e5924caea5b2ad Mon Sep 17 00:00:00 2001 From: "Soto.Poul" Date: Fri, 3 Mar 2023 19:43:58 +0800 Subject: [PATCH 4/5] =?UTF-8?q?feat:=20=E9=83=A8=E5=88=86=E9=9D=9E?= =?UTF-8?q?=E5=BF=85=E8=A6=81=E4=BF=AE=E6=94=B9=E5=9B=9E=E9=80=80=20&=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8B=B1=E6=96=87=E6=9B=B4=E6=96=B0=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kits/flutter_ume_kit_ui/CHANGELOG.md | 6 ++++++ .../lib/components/color_sucker/color_sucker.dart | 4 +--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/kits/flutter_ume_kit_ui/CHANGELOG.md b/kits/flutter_ume_kit_ui/CHANGELOG.md index 1b777d2..8aeb340 100644 --- a/kits/flutter_ume_kit_ui/CHANGELOG.md +++ b/kits/flutter_ume_kit_ui/CHANGELOG.md @@ -8,6 +8,12 @@ * mockito: ^5.0.12 升级到 mockito: ^5.3.2 +* Bump image from 3.0.5 to 4.0.15 + +* Bump quiver from 3.0.1 to 3.2.1 + +* Bump mockito from 5.0.12 to 5.3.2 + ## 1.1.0 diff --git a/kits/flutter_ume_kit_ui/lib/components/color_sucker/color_sucker.dart b/kits/flutter_ume_kit_ui/lib/components/color_sucker/color_sucker.dart index 6019bb0..2886426 100644 --- a/kits/flutter_ume_kit_ui/lib/components/color_sucker/color_sucker.dart +++ b/kits/flutter_ume_kit_ui/lib/components/color_sucker/color_sucker.dart @@ -1,11 +1,9 @@ import 'dart:typed_data'; import 'dart:ui' as ui; - import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; -import 'package:flutter_ume/flutter_ume.dart'; import 'package:image/image.dart' as img; - +import 'package:flutter_ume/flutter_ume.dart'; import 'icon.dart' as icon; class ColorSucker extends StatefulWidget implements Pluggable { From fc98fa31ea609db91d49bde97350fddac99e02e3 Mon Sep 17 00:00:00 2001 From: "Soto.Poul" Date: Mon, 6 Mar 2023 11:33:03 +0800 Subject: [PATCH 5/5] feat: fix issues --- kits/flutter_ume_kit_ui/CHANGELOG.md | 4 ---- .../lib/third_party/cyclop/lib/src/utils.dart | 1 - kits/flutter_ume_kit_ui/pubspec.yaml | 2 +- 3 files changed, 1 insertion(+), 6 deletions(-) diff --git a/kits/flutter_ume_kit_ui/CHANGELOG.md b/kits/flutter_ume_kit_ui/CHANGELOG.md index 8aeb340..a96df82 100644 --- a/kits/flutter_ume_kit_ui/CHANGELOG.md +++ b/kits/flutter_ume_kit_ui/CHANGELOG.md @@ -3,15 +3,11 @@ ## 1.1.1 * image: ^3.0.5 升级到 image: ^4.0.15 - * quiver: ^3.0.1 升级到 quiver: ^3.2.1 - * mockito: ^5.0.12 升级到 mockito: ^5.3.2 * Bump image from 3.0.5 to 4.0.15 - * Bump quiver from 3.0.1 to 3.2.1 - * Bump mockito from 5.0.12 to 5.3.2 diff --git a/kits/flutter_ume_kit_ui/lib/third_party/cyclop/lib/src/utils.dart b/kits/flutter_ume_kit_ui/lib/third_party/cyclop/lib/src/utils.dart index 3a39bd6..8487412 100644 --- a/kits/flutter_ume_kit_ui/lib/third_party/cyclop/lib/src/utils.dart +++ b/kits/flutter_ume_kit_ui/lib/third_party/cyclop/lib/src/utils.dart @@ -1,4 +1,3 @@ -import 'dart:async'; import 'dart:ui' as ui; import 'package:flutter/material.dart'; diff --git a/kits/flutter_ume_kit_ui/pubspec.yaml b/kits/flutter_ume_kit_ui/pubspec.yaml index e8ffc43..3e9284a 100644 --- a/kits/flutter_ume_kit_ui/pubspec.yaml +++ b/kits/flutter_ume_kit_ui/pubspec.yaml @@ -13,7 +13,7 @@ dependencies: flutter_ume: ">=1.0.0 <2.0.0" touch_indicator: ^2.0.0 - # for Cyclops + # for Cyclop image: ^4.0.15 quiver: ^3.2.1 basics: ">=0.6.0 <0.11.0"