Skip to content

Commit 1d96889

Browse files
authored
Update FullScreenImageView.swift
1 parent af11243 commit 1d96889

File tree

1 file changed

+21
-6
lines changed

1 file changed

+21
-6
lines changed

Sources/ZoomImageViewer/FullScreenImageView.swift

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ struct FullScreenImageView<CloseButtonStyle: ButtonStyle>: View {
4949
predictedOffset = value.predictedEndTranslation
5050
}
5151
}
52+
@State private var image = UIImage()
53+
@State private var showShareSheet = false
54+
5255
private var buttons: some View {
5356
HStack {
5457
Button {
@@ -63,10 +66,19 @@ struct FullScreenImageView<CloseButtonStyle: ButtonStyle>: View {
6366
}
6467
.buttonStyle(closeButtonStyle)
6568
.opacity(backgroundOpacity)
66-
if let processedImage = Image(uiImage: watermarkImage(baseImage: baseImage ?? UIImage(), watermarkImage: watermark ?? UIImage()) ?? UIImage()) {
67-
ShareLink(item: processedImage, preview: SharePreview("Weather Report: Future Radar", image: processedImage))
69+
Button {
70+
// Share watermarked image
71+
let watermarked = watermarkImage(baseImage: baseImage ?? UIImage(), watermarkImage: watermark ?? UIImage())
72+
self.image = watermarked ?? baseImage ?? UIImage()
73+
showShareSheet = true
74+
} label: {
75+
Image(systemName: "square.and.arrow.up")
76+
.font(.title)
77+
.accessibilityLabel("Share")
78+
.contentShape(Rectangle())
6879
}
69-
80+
.buttonStyle(closeButtonStyle)
81+
.opacity(backgroundOpacity)
7082
}
7183
}
7284

@@ -110,6 +122,9 @@ struct FullScreenImageView<CloseButtonStyle: ButtonStyle>: View {
110122
buttons
111123
, alignment: .topLeading
112124
)
125+
.sheet(isPresented: $showShareSheet, content: {
126+
ActivityView(activityItems: [image] as [Any], applicationActivities: nil)
127+
})
113128
.opacity(imageOpacity)
114129
.onAppear(perform: onAppear)
115130
.onDisappear(perform: onDisappear)
@@ -181,8 +196,8 @@ func watermarkImage(baseImage: UIImage, watermarkImage: UIImage) -> UIImage? {
181196
// Draw the base image
182197
baseImage.draw(at: .zero)
183198

184-
// Define the scale as 10% of the base image's shorter dimension
185-
let scale = 0.1
199+
// Define the scale as 35% of the base image's shorter dimension
200+
let scale = 0.35
186201
let watermarkAspect = watermarkImage.size.width / watermarkImage.size.height
187202
var watermarkHeight = min(baseImage.size.width, baseImage.size.height) * scale
188203
var watermarkWidth = watermarkHeight * watermarkAspect
@@ -201,7 +216,7 @@ func watermarkImage(baseImage: UIImage, watermarkImage: UIImage) -> UIImage? {
201216
let watermarkRect = CGRect(x: watermarkX, y: watermarkY, width: watermarkWidth, height: watermarkHeight)
202217

203218
// Draw the watermark image
204-
watermarkImage.draw(in: watermarkRect, blendMode: .normal, alpha: 0.5) // Adjust alpha as desired
219+
watermarkImage.draw(in: watermarkRect, blendMode: .normal, alpha: 0.85) // Adjust alpha as desired
205220
}
206221

207222
return watermarkedImage

0 commit comments

Comments
 (0)