Coder Social home page Coder Social logo

rosuh / easywatermark Goto Github PK

View Code? Open in Web Editor NEW
1.5K 1.5K 125.0 35.43 MB

🔒 🖼 Securely, easily add a watermark to your sensitive photos. 安全、简单地为你的敏感照片添加水印,防止被小人泄露、利用

License: MIT License

Kotlin 100.00%
android image image-watermark tools watermark watermwark

easywatermark's Introduction

1️⃣ 🧑‍💻 Full time Mobile Developer, most focus on Android

2️⃣ ▶ Responsible for live Streaming-Related business.

3️⃣ ⛏️ Digging into Kotlin Multiplatform now ;)

4️⃣ Chinese / Enghlish, Currently working in Shenzhen, China. Open to relocation

📫 Email, Telegram, Home Page.

easywatermark's People

Contributors

artem13327 avatar comradekingu avatar dependabot-preview[bot] avatar dependabot[bot] avatar gdonisi avatar npepperlinux avatar nuclearfog avatar poussinou avatar rosuh avatar ryuunoakaihitomi avatar sguinetti avatar still34 avatar weblate avatar young-lord avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easywatermark's Issues

添加一个分享隧道功能

如题,现在(2.8.2)分享图片给简单水印出现的还是主界面,没有利用上分享功能。

希望的功能类似Imagepipe,当系统分享功能分享图片到简单水印时自动按照上一次加水印的设置加水印同时发起一个加完水印的图片的分享请求(相当于按下分享按钮),同时不退出图像编辑界面(或者不主动发起分享,添加分享快捷键到工具栏,因为用户可能还想调整水印)

Just one more thing...

Are there any plans in the future to add a batch mode to watermark multiple pictures at once? Thank you.

[bug]红米K30 Pro导入高度比宽度大的图片后图片自动旋转

如图,左边是红米k30 Pro,系统MIUI13 V13.0.1.1.11.DEV,右边是小米5,系统PixelExperience_Plus_gemini-11.0-20211216-1610-OFFICIAL
导入同一张高度比宽度大的图片,右侧手机显示正常,左侧图片旋转了90度。左侧手机导出后图片依然是旋转90度的。

另外我是个尝试写过一些Android App的前端码农,看了你的代码,自定义View让我醍醐灌顶!
很棒的软件,作者辛苦了

e6d3ddd981499d6f1de4778f37e04d7

Add option for blanking or obfuscating part of the image

I use Easy Watermark for making a secure copy of my ID card as an alternative to the closed source app KopieID developed by Milvum on behalf of the Dutch Government.

When a copy is requested, most of the time not all information on the ID card is needed by the receiving party. The Dutch government recommends to blank out the unnecessary information. KopieID provides that functionality. Easy Watermark currently has no option for blanking or obfuscating part of the image.

It would be nice to have that option in Easy Watermark, making it a fully featured alternative for the closed source KopieID. Currently, the only option is to edit the image before using it in Easy Watermark. That's cumbersome.

Feature Request: Sharing (passthrough) Exports

I use this tool in a sharing workflow, where I would like to watermark "on-the-go". Once #279 is finished I would like to have the following process:

  1. Create/Select picture somewhere, e.g. gallery
  2. Share from gallery to EW
  3. (Make minor adjustments if needed)
  4. Share from EW to final application, e.g. a messenger

This process wouldn't need any intermediate storage, which makes it easier to keep the gallery clean of watermarked duplicates.

Right now I would need to save the picture somewhere, then open it from within EW, then save it out the gallery again and share from there.

I think both the design and the application code could be extended with a share button without limiting or complicating the process surrounding it.

[BUG] Crashed when toggling dark mode.

2021-10-19 00:24:57.346 3570-3570/me.rosuh.easywatermark.debug E/AndroidRuntime: FATAL EXCEPTION: main
    Process: me.rosuh.easywatermark.debug, PID: 3570
    java.lang.IllegalArgumentException: width and height must be > 0
...
        at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:807)
        at androidx.core.graphics.drawable.DrawableKt.toBitmap(Drawable.kt:54)
        at androidx.core.graphics.drawable.DrawableKt.toBitmap$default(Drawable.kt:45)
        at me.rosuh.easywatermark.widget.ColoredImageVIew.onDraw(ColoredImageVIew.kt:71)
        at android.view.View.draw(View.java:21547)
...
lavender:/ $ getprop ro.build.fingerprint
xiaomi/lavender/lavender:10/QKQ1.190910.002/V12.5.3.0.QFGCNXM:user/release-keys

最新版启动会弹个报错窗口

手机三星s20+ oneui3.1
Dear developer, here are my crash info:

                                        Crash in main:
                java.lang.ExceptionInInitializerError
at me.rosuh.easywatermark.MyApp.onConfigurationChanged(Unknown Source:5)
at android.app.ActivityThread.performConfigurationChanged(ActivityThread.java:6119)
at android.app.ActivityThread.handleConfigurationChanged(ActivityThread.java:6408)
at android.app.ActivityThread.handleConfigurationChanged(ActivityThread.java:6294)
at android.app.servertransaction.ConfigurationChangeItem.execute(ConfigurationChangeItem.java:42)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:246)
at android.app.ActivityThread.main(ActivityThread.java:8506)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)

Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f0501c0
at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:285)
at android.content.res.Resources.getColor(Resources.java:1164)
at android.content.Context.getColor(Context.java:681)
at b0.a$d.a(Unknown Source:0)
at b0.a.b(Unknown Source:6)
at x5.a.(Unknown Source:29)
... 14 more

                =====================
                APP:
                20702, 2.7.2, release 
                Devices:
                11, 30, y2q, SM-G9860, y2qzcx, samsung
                =====================
                当反馈的问题有效,并被修复或加入新版本时,您的名字或邮件出现在更新日志弹窗中。我们会对您的信息作遮挡处理,不会出现全称。

如果您不愿意出现,请标注:我不愿意。即可
=====================
2022-03-15

[功能请求]使用过程中的两个需求

1,覆盖原图保存,字面意思,直接覆盖原图保存到原图的源文件夹里,并且文件名不变

2,保存多种水印配置,用于快速应对不同的图片不同的水印要求

🙏🏻拜托了

图片自动旋转导致预览和生成的照片不一致

我的手机是三星S10+,在使用时发现手机拍摄照片存储的方像和拍摄方向不同。比如前置摄像头竖直拍摄的时候,存储的照片是横向比较长,但是实际显示和拍摄的时候是纵向长。在相册内预览的时候手机做了自动旋转,程序内预览的效果也是旋转后的。但是生成的图片没有考虑自动旋转,导致预览和实机照片的效果不一样。
希望在预览和生成图片的时候考虑进图片的自动旋转问题。

另外谢谢您开发和维护这个程序

文字大小的预览效果与实际效果不一致

比如字号48
预览估计是在缩小过的预览图上加上字号48的文字

生成图片的实际效果则是在原图分辨率上加上字号48的文字,显得字非常小

这里还是建议和预览效果一致比较好

2.8.8版本 添加贴纸水印Bug

如标题。添加贴纸水印,平铺格式选择单个,预览正常。但生成的图片就是按照重复的排列添加的水印
版本2.8.8
系统MIUI14
设置页面截图:
Screenshot_2023-07-26-23-04-12-494_me rosuh easywatermark
生成的图片:
ewm_1690383676271
初步判断是bug,期待修复😂
感谢开发

cant find every picture.

Easywatermark cant find custom createdfolder pics.

Only in galary saved pics

And inside Easywatermark no file Explorer exist.

Hope you can fix.

几个功能建议

1、增加字体选择,标准宋体等常规字体很容易被机器学习类工具去除,建议增加各种艺术字体,毛体、草书等
2、UI增加文字行距设置功能,目前的行距很宽,希望可以自定义
3、建议支持多种字体和大小设置,比如一行字体为宋体、一行为黑体,这样可以避免同类识别一次性全部去除
4、建议制作几个常规证件的模板,比如身份证,营业执照等
5、建议支持颜色渐变和阴影,增加图像处理软件的难度

暂时就想到这么多,作者辛苦了

Random alpha values to prevent watermark removal

Right now the watermarks are easy to remove, because the alpha value is always the same. If every value that's part of the watermark gets a random alpha value in a reasonable range, then it get's a lot harder to remove.

General feedback

Amazing app. Would be a great addition to add a template saver so you can use the same watermark over and over again

Minor spelling mistake

The button to select an image says "Selecte"

It's actually "Select" in English.

I think it would be better to have it say: "Choose Images"

As it is simpler English, plus you can pick more than one image for watermarking. So it just makes more sense.

Thanks a lot for making the app <3
No one is gonna share a photo I don't want, if I watermark their phone number all over it hahahahaha.

建议增加行间距设置

目前最小行间距设置(也即分布中的垂直设置)等于字符串宽度,目的就是为了使得旋转角度为90度时不会重叠,但是,在字符串过长的情况下,会导致水印稀少。

[功能请求]两个小建议

1,布局能够支持负数调整或者更小的布局,我把水平垂直布局拉到0还是感觉间隙有点大,原因是想让水印更密集一点
2,(不是很需要)支持多重水印,比如添加了一句请勿他用的声明后,有时还需要添加时间戳水印,所以时间戳功能拜托了

很棒的软件!

Bug: Sharing opens in last context

First off: Great app, thanks for sharing! Perfect for my use case, without any ads, payment or bloat.

The app doesn't seem to handle sharing correctly. After selecting the app during the share dialog the app is opening fine, but it's back in it's last state, e.g. showing the last picture I edited manually. This seems to happen from any app, not just the gallery. I would expect the app to start the process with the shared image pre-selected.
I can open and use the app via the launcher and everything works as expected.

F-Droid, version 2.8.8.
Pixel 6, regular Android with all updates.

无法显示预览

中兴天机9,安卓9, 1.1.0版,导入图片后无法显示预览,但能导出图片

Watermark Everything?

Would it be possible to add a selection to automatically apply a watermark to any image that's emailed, Messaged, or tested? If not then to batch watermark all photos on the phone, with an option to selectively remove the watermark as desired? Thanks

F-Droid updates stuck

Updates of your app at the F-Droid repository are currently stuck. Reason is the updater no longer can identify new versions, as you're using variables for versionCode and versionName in your build.gradle – but the updater needs the "real values" there (it just parses the build.gradle, it does not execute gradlew).

If you want F-Droid to pick up again,

        versionCode = Apps.versionCode
        versionName = Apps.versionName

must be changed to reflect the real values, currently this would be

        versionCode = 10102
        versionName = "1.0.3"

Unable to save

App opens, accepts image, allows change of text, etc. But there's no Save option for the edited/watermarked image.
GrapheneOS on a Pixel 4a
Thanks

[Feature] Can we please save as animated .gif

I'd like to use an animated .gif as a watermark and save the created image as a .gif

This would mean that the watermarked image keeps the animation from whatever .gif image I used as a watermark.

Otherwise the app is already basically perfect.

可选输出质量和水印位置偏移问题

非常不错,已经用了好几次了,有个小疑问:

  1. 我 1M的图片,加完水印,变7M,这个好大呀,还得手动压缩裁切下。
  2. 预览的水印位置和实际导出后的不一样,不过都不影响使用,多导几次就好了。

关于模板化的建议

大大我很喜欢您的作品,我有一些关于更人性化操作的建议,如果您有时间将其完成,我认为这会是很棒的。

期望将操作方式变为模板式操作
原因是这将更加轻松且容易的操作水印添加

以下是我建议的建议展示

主界面展示
`
<应用图标>
<新建模板>

  • 模板一 -
  • 模板二 -
    `

互动操作(例)
点击模板一
直接进入选择图片,选择完毕后将直接导出,我认为可以将导出方式也并入模板的保存内容,因为这不是常用的

长按模板一
将弹出**编辑 重命名**等选项

关于模板数据格式
我个人见解是这数据量是少的,使用json存储或许会更容易开发

Idiom

Please add spanish to traductions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.