From 5e8c9b6233d007dc7663f3c479a0c46f461a0856 Mon Sep 17 00:00:00 2001 From: wuyujing Date: Thu, 1 Sep 2022 20:50:01 +0800 Subject: [PATCH 1/3] strokeColor && backgroundColor --- ios/PPSSignatureView.h | 1 + ios/RSSignatureView.m | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/ios/PPSSignatureView.h b/ios/PPSSignatureView.h index c238b463..070a0759 100644 --- a/ios/PPSSignatureView.h +++ b/ios/PPSSignatureView.h @@ -6,6 +6,7 @@ @interface PPSSignatureView : GLKView @property (assign, nonatomic) UIColor *strokeColor; +@property (assign, nonatomic) UIColor *backgroundColor; @property (assign, nonatomic) BOOL hasSignature; @property (strong, nonatomic) UIImage *signatureImage; @property (nonatomic, strong) RSSignatureViewManager *manager; diff --git a/ios/RSSignatureView.m b/ios/RSSignatureView.m index 501c7e13..f92459fd 100644 --- a/ios/RSSignatureView.m +++ b/ios/RSSignatureView.m @@ -187,10 +187,16 @@ - (void)setShowTitleLabel:(BOOL)showTitleLabel { - (void)setBackgroundColor:(UIColor*)backgroundColor { _backgroundColor = backgroundColor; + if (sign){ + sign.backgroundColor = backgroundColor; + } } - (void)setStrokeColor:(UIColor*)strokeColor { _strokeColor = strokeColor; + if (sign){ + sign.strokeColor = strokeColor; + } } -(void) onSaveButtonPressed { From b79746bef678346438fae358f2b5addfa0ec4aa8 Mon Sep 17 00:00:00 2001 From: wuyujing Date: Wed, 21 Sep 2022 16:12:24 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=AE=89=E5=8D=93=E5=AE=9E=E7=8E=B0rotateC?= =?UTF-8?q?lockwise?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RSSignatureCaptureMainView.java | 13 +++++++++++-- .../rssignaturecapture/RSSignatureCaptureView.java | 5 +++++ .../RSSignatureCaptureViewManager.java | 9 +++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureMainView.java b/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureMainView.java index 152255ab..4ce6c49d 100644 --- a/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureMainView.java +++ b/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureMainView.java @@ -197,8 +197,17 @@ public Bitmap getResizedBitmap(Bitmap image) { height = maxSize; width = (int) (height * bitmapRatio); } - - return Bitmap.createScaledBitmap(image, width, height, true); + Bitmap resizedBitmap = Bitmap.createScaledBitmap(image, width, height, true); + + if (rotateClockwise){ + Matrix matrix = new Matrix(); + // 正数顺时针,负数逆时针 + matrix.postRotate(-90); + Bitmap rotatedBitmap = Bitmap.createBitmap(resizedBitmap, 0, 0, resizedBitmap.getWidth(), resizedBitmap.getHeight(), matrix, true); + return rotatedBitmap; + }else{ + return resizedBitmap; + } } diff --git a/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureView.java b/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureView.java index 37c1dad3..14972f9f 100644 --- a/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureView.java +++ b/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureView.java @@ -53,6 +53,7 @@ public class RSSignatureCaptureView extends View { private boolean dragged = false; private boolean multipleTouchDragged = false; private int SCROLL_THRESHOLD = 5; + private boolean rotateClockwise = false; public interface SignatureCallback { void onDragged(); @@ -214,6 +215,10 @@ private float strokeWidth(float velocity) { return Math.max(mMaxWidth / (velocity + 1), mMinWidth); } + private boolean setRotateClockWise(boolean newRotateClockwise){ + rotateClockwise = newRotateClockwise; + } + private ControlTimedPoints calculateCurveControlPoints(TimedPoint s1, TimedPoint s2, TimedPoint s3) { float dx1 = s1.x - s2.x; float dy1 = s1.y - s2.y; diff --git a/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureViewManager.java b/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureViewManager.java index 275d51a2..733e8d18 100644 --- a/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureViewManager.java +++ b/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureViewManager.java @@ -26,6 +26,7 @@ public class RSSignatureCaptureViewManager extends ViewGroupManager Date: Wed, 21 Sep 2022 16:29:09 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=AE=89=E5=8D=93=E5=AE=9E=E7=8E=B0rotateC?= =?UTF-8?q?lockWise?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RSSignatureCaptureContextModule.java | 0 .../rssignaturecapture/RSSignatureCaptureMainView.java | 5 +++-- .../com/rssignaturecapture/RSSignatureCapturePackage.java | 0 .../com/rssignaturecapture/RSSignatureCaptureView.java | 8 +++++++- .../rssignaturecapture/RSSignatureCaptureViewManager.java | 0 .../main/java/com/rssignaturecapture/utils/Bezier.java | 0 .../com/rssignaturecapture/utils/ControlTimedPoints.java | 0 .../java/com/rssignaturecapture/utils/TimedPoint.java | 0 8 files changed, 10 insertions(+), 3 deletions(-) mode change 100644 => 100755 android/src/main/java/com/rssignaturecapture/RSSignatureCaptureContextModule.java mode change 100644 => 100755 android/src/main/java/com/rssignaturecapture/RSSignatureCaptureMainView.java mode change 100644 => 100755 android/src/main/java/com/rssignaturecapture/RSSignatureCapturePackage.java mode change 100644 => 100755 android/src/main/java/com/rssignaturecapture/RSSignatureCaptureView.java mode change 100644 => 100755 android/src/main/java/com/rssignaturecapture/RSSignatureCaptureViewManager.java mode change 100644 => 100755 android/src/main/java/com/rssignaturecapture/utils/Bezier.java mode change 100644 => 100755 android/src/main/java/com/rssignaturecapture/utils/ControlTimedPoints.java mode change 100644 => 100755 android/src/main/java/com/rssignaturecapture/utils/TimedPoint.java diff --git a/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureContextModule.java b/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureContextModule.java old mode 100644 new mode 100755 diff --git a/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureMainView.java b/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureMainView.java old mode 100644 new mode 100755 index 4ce6c49d..26a661a3 --- a/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureMainView.java +++ b/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureMainView.java @@ -1,5 +1,6 @@ package com.rssignaturecapture; +import android.graphics.Matrix; import android.util.Log; import android.view.ViewGroup; import com.facebook.react.modules.core.DeviceEventManagerModule; @@ -199,7 +200,7 @@ public Bitmap getResizedBitmap(Bitmap image) { } Bitmap resizedBitmap = Bitmap.createScaledBitmap(image, width, height, true); - if (rotateClockwise){ + if (this.signatureView.getRotateClockwise()){ Matrix matrix = new Matrix(); // 正数顺时针,负数逆时针 matrix.postRotate(-90); @@ -207,7 +208,7 @@ public Bitmap getResizedBitmap(Bitmap image) { return rotatedBitmap; }else{ return resizedBitmap; - } + } } diff --git a/android/src/main/java/com/rssignaturecapture/RSSignatureCapturePackage.java b/android/src/main/java/com/rssignaturecapture/RSSignatureCapturePackage.java old mode 100644 new mode 100755 diff --git a/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureView.java b/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureView.java old mode 100644 new mode 100755 index 14972f9f..10e3e75d --- a/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureView.java +++ b/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureView.java @@ -215,10 +215,16 @@ private float strokeWidth(float velocity) { return Math.max(mMaxWidth / (velocity + 1), mMinWidth); } - private boolean setRotateClockWise(boolean newRotateClockwise){ + public void setRotateClockWise(boolean newRotateClockwise){ rotateClockwise = newRotateClockwise; } + public boolean getRotateClockwise(){ + return rotateClockwise; + } + + + private ControlTimedPoints calculateCurveControlPoints(TimedPoint s1, TimedPoint s2, TimedPoint s3) { float dx1 = s1.x - s2.x; float dy1 = s1.y - s2.y; diff --git a/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureViewManager.java b/android/src/main/java/com/rssignaturecapture/RSSignatureCaptureViewManager.java old mode 100644 new mode 100755 diff --git a/android/src/main/java/com/rssignaturecapture/utils/Bezier.java b/android/src/main/java/com/rssignaturecapture/utils/Bezier.java old mode 100644 new mode 100755 diff --git a/android/src/main/java/com/rssignaturecapture/utils/ControlTimedPoints.java b/android/src/main/java/com/rssignaturecapture/utils/ControlTimedPoints.java old mode 100644 new mode 100755 diff --git a/android/src/main/java/com/rssignaturecapture/utils/TimedPoint.java b/android/src/main/java/com/rssignaturecapture/utils/TimedPoint.java old mode 100644 new mode 100755