写点什么

如何使用 Java 代码给图片增加倒影效果

作者:Jerry Wang
  • 2021 年 11 月 29 日
  • 本文字数:1051 字

    阅读完需:约 3 分钟

如何使用 Java 代码给图片增加倒影效果

效果

倒影率为 90%时的效果:



倒影率 10%时的效果:


实现原理

倒影率作为参数 rate 传入 Reflection button 的事件处理函数:



CreateImageWithReflection 这个 Java 方法会根据传入的倒影率参数 rate,创建一个对应高度的 reflectionImage 用于显示倒影,最后返回的 Bitmap 是包含了原始图片文件 original image 和倒影效果的一张联合图片 union image:



这个项目文件的完整路径: https://github.com/i042416/imagetool/commits/master

本文介绍的例子在 Android 安卓手机上测试通过。


先看看效果吧。可以看到这个开发好的安卓应用有三个按钮:Zoom In 缩小图片,Zoom Out 放大图片和 Save 保存。


初始页面:



可以在左边边框自由移动图片,图片下面的调试界面 debug screen 会显示详细的图片矩阵 matrix 信息:



点击 Save button 后,根据左边图片的最新状态,会创建一个镜像文件 Snapshot 并显示在右边的 ImageView 控件里:




点击 Zoom in 按钮可以使图片缩小:



点击 Zoom out 使图片放大:



这个用 Java 开发的安卓应用完整代码: https://github.com/i042416/image_zoom.git



Jerry 喜欢用有道云笔记这款软件做自己的知识管理和知识体系的构建。



当您看到一篇好的有道云笔记分享时,可能会想将其精美的图片下载到本地。作为程序猿,我们不会去手动一张张下载。写个程序帮我们自动下载吧。


比如这个笔记:http://note.youdao.com/noteshare?id=62840e43da1f6b71cdbedb3b7723f7fa


打开之后是这样的:



我们需要研究如何知道一个有道云分享笔记里究竟包含了哪些图片。


我们可以使用有道云笔记提供的这个 Restful API:http://note.youdao.com/yws/public/note/<note_guid>?keyfrom=public


我们把一个分享笔记的 guid 传入上述的 url,执行一个 http 调用看看结果。例如我文章开头的例子,那个分享笔记的 guid 是 62840e43da1f6b71cdbedb3b7723f7fa,那么完整的 Restful API 链接为:http://note.youdao.com/yws/public/note/62840e43da1f6b71cdbedb3b7723f7fa?keyfrom=public


输入 Chrome 浏览器敲回车,看看这个 Restful API 返回的内容:



从上图不难发现整个笔记包含的图片文件,其地址包含在 HTML 源代码的 src 开头的 img 标签页的 src 属性里。所以只需要用一个循环,遍历这些 img 标签,下载 src 里指向的图片即可。


最后就是写代码实现上述功能了。写好的 ABAP 程序如下。


输入有道云分享笔记的 GUID 和本地存储文件夹名称,执行。



稍等片刻,所有的图片就被 ABAP 程序自动下载到本地指定文件夹了。节省了程序猿大量宝贵的时间。



这个 SAP ABAP 程序的完整代码在我的 github 里:


https://github.com/i042416/KnowlegeRepository/tree/master/ABAP/youdao_note_download


发布于: 刚刚阅读数: 2
用户头像

Jerry Wang

关注

个人微信公众号:汪子熙 2017.12.03 加入

SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使。

评论

发布
暂无评论
如何使用 Java 代码给图片增加倒影效果