使用BufferedImage进行渐变色操作
序
本文主要简述一下如何使用BufferedImage进行渐变色操作。
GradientPaint
java/awt/GradientPaint.java
public class GradientPaint implements Paint {Point2D.Float p1;Point2D.Float p2;Color color1;Color color2;boolean cyclic;//......
}
这个是生成渐变色的关键类,当然也有其他的渐变类,比如
java/awt/LinearGradientPaint.java
实例
public static BufferedImage drawGradient(BufferedImage srcImg,
int startX, int startY,int endX, int endY,Color colorFrom, Color colorTo,float opacity) {BufferedImage dstImg = new BufferedImage(srcImg.getWidth(), srcImg.getHeight(), BufferedImage.TYPE_INT_RGB);GradientPaint grad = new GradientPaint(startX, startY, colorFrom, endX, endY, colorTo); //从左上到右下渐变;Graphics2D g2 = (Graphics2D) dstImg.getGraphics();g2.setPaint(grad);g2.fillRect(startX, startY, endX, endY);g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, opacity));g2.drawImage(srcImg, 0, 0, srcImg.getWidth(), srcImg.getHeight(), null);g2.dispose();return dstImg;
}
原理就是先使用GradientPaint画一个渐变色的矩形,然后将原图使用一定透明度覆盖上去,这样就看出渐变。
不足之后的话,就是渐变颜色会偏淡。
欢迎加入学习交流群569772982,大家一起学习交流。
使用BufferedImage进行渐变色操作相关推荐
- java bufferedimage颜色_使用BufferedImage进行渐变色操作
序 本文主要简述一下如何使用BufferedImage进行渐变色操作. GradientPaint java/awt/GradientPaint.java public class GradientP ...
- java graphics 渐变色_使用BufferedImage进行渐变色操作
序 本文主要简述一下如何使用BufferedImage进行渐变色操作. GradientPaint java/awt/GradientPaint.java public class GradientP ...
- ImageIo类常用方法以及图片操作
ImageIo类常用方法以及图片操作 文章目录 ImageIo类常用方法以及图片操作 常用方法 图片操作 结尾 常用方法 读 从图中可以看到有三个重载的方法,返回的类型都是BufferedImage ...
- 01超精美渐变色动态背景完整示例【CSS动效实战(纯CSS与JS动效)】
若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我,若你是真心学习可以送你书籍,指导你学习,给予你目标方向的学习路线,无套路,博客为证. 本节案例如下(其他动效篇幅原因逐步讲解,欢迎三连): 一.线 ...
- java drawstring 绘制歌词_Java模仿Kugou,实现歌词秀
请到这个地方获取可运行的jar包及源码:http://neighborwolf.iteye.com/admin/blogs/1170037 Kugou的歌词秀如图: 我模拟的效果如图所示. 鼠标选中后 ...
- Java 比较图片_Java图片比对
在自动化测试中,除了普通的值验证,经常还有一些图片验证,比如图片的匹配率,输出图片的差异图片等.本文主要用到了BufferedImage类来操作图片比对和输出差异图片,大体的思路如下: 1. 通过Im ...
- 简单图像滤镜功能的Java实现
图像滤镜功能Java实现 前置内容 RGB图片: 对于图片中的像素, 使用Red, Green, Blue 三种颜色共同得到一个最终的显示颜色, 其数值均在0 - 255 之间 在Java中对于图像的 ...
- 软键盘实例 request参数修改
软键盘实例 request参数修改 这里的键盘 里面的内容是乱序的,每次请求都会不一样的顺序. 键盘内容是一个DIV的背景图,方框是DIV边框.控制按钮直接在前台控制就行. 请求流程如下 JSP请求软 ...
- Java splash screen
虽然Java的启动速度有很大改观,但大型桌面应用的启动通常需要相当长的时间.NetBeans和Eclipse的启动都有一个所谓splashscreen来让用户耐心等待.做splashscreen方法很 ...
最新文章
- 衡量微型计算机的性能指标参数有哪些,衡量计算机性能的主要技术指标有哪些?...
- 【C语言编程练习】5.10寻找水仙数
- keras、tf、numpy实现logloss对比
- mysql录入foreigen错误_编译安装MySQL5.6失败的相关问题解决方案
- OutLook2016修改注册表迁移.ost文件数据
- 考研心路历程2021北京交通大学计算机学院软件工程
- 15-多容器复杂应用的部署
- pytorch查缺补漏
- L1-026. I Love GPLT-PAT团体程序设计天梯赛GPLT
- python简明教程_05
- POI实现EXCEL导出(resources配置路径下或者网络图片)
- 吴恩达《机器学习》第四章:多元线性回归
- 旷视face++WebAPI接口调用
- 一个变量命名神器:支持中文转变量名
- 担心数据丢失 or 系统备份? Win10系统备份还原轻松学会
- 智力题库软件测试,最新软件测试笔试题网友回忆版
- **51单片机交通灯画图打板历程**
- 莱布尼兹乘积微分公式证明纠错
- 百度世界大会2021: 与时代共振,AI让生活更好
- 利用 Logarithmic Binning (Log-Binning)方法绘制幂律分布(Power-law Distributions)曲线
热门文章
- linux卸载nomachine,NoMachine 安装与配置及使用
- 全国高中计算机大赛,2019年含金量最大的中小学全国性竞赛活动——五大学科竞赛...
- python画同心圆程序_Python Turtle:使用circle()方法绘制同心圆
- mysql 5.7 window x64_window环境配置Mysql 5.7.21 windowx64.zip免安装版教程详解
- nedc和epa续航里程什么意思_400公里已成续航新起点,纯电动车的实用性到底怎样...
- java中兴参与实参相同_中兴通讯_传输SDH试题(含答案)
- C语言从来都没有过时,你大爷终究是你大爷
- Spring异步调用原理及SpringAop拦截器链原理
- 变形监测期末复习_寒假即将来临,中小学期末考试时间是什么时候?
- js map对象遍历_何时使用 Map 来代替变通的 JS 对象