Android全屏倾斜水印实现教程:外切法与代码详解
36 浏览量
更新于2024-08-30
收藏 177KB PDF 举报
本文讲述了在Android开发中如何给任何View添加一个全屏倾斜的水印,主要探讨了两种方法:一是先将带有水平文字的图片绘制出来,然后与原图合并;二是通过旋转画布并在其上直接书写文字。文章倾向于第二种方案,因为它相对简单,但关键在于处理好文字覆盖的问题。
首先,由于水印需要完全覆盖图片,这就意味着画布的大小必须大于图片本身。为了简化处理,作者建议将图片视为正方形,并找到其外切正方形的对角线长度作为新画布的尺寸。这样,当需要倾斜时,只需将画布旋转45度并适当平移,确保文字位于图片边缘之外。
在代码实现部分,`getMarkTextBitmap` 方法中,计算文字大小和间隔(inter)取决于是否显示小字号(is4Showing)。如果`is4Showing` 为真,文字大小设置为18sp(像素密度无关单位),间隔为25dp(像素密度无关尺寸),否则文字大小为54sp,间隔为75dp。这段代码表明了根据需求调整文字大小和布局的重要性。
值得注意的是,代码可能还包含从缓存获取Bitmap的逻辑,但这不是主要关注点,因为原文提到这部分代码已经省略。实际实现中,开发者需要确保在缓存中查找图片,如果不存在则根据给定参数进行绘制,包括旋转、文字渲染和最终的位图保存或返回。
总结来说,本文提供了一个实用的技巧,帮助开发者在Android应用中创建动态且全屏倾斜的水印,通过巧妙地调整画布尺寸和旋转操作,确保水印与图片无缝融合。这对于添加版权信息、品牌标识或其他需要覆盖整个画面的文字和图形元素非常有用。
点击了解资源详情
524 浏览量
2018-10-31 上传
2017-06-30 上传
2020-08-31 上传
weixin_38611459
- 粉丝: 6
- 资源: 917
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载