本文主要简述一下如何使用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画一个渐变色的矩形,然后将原图使用一定透明度覆盖上去,这样就看出渐变。

不足之后的话,就是渐变颜色会偏淡。

java bufferedimage颜色_使用BufferedImage进行渐变色操作相关推荐

  1. java画图颜色_手绘板,多种颜色选择。我抄的《疯狂java讲义》的,包我乱导的,但代码能用。...

    [java]代码库import javax.swing.*; import java.awt.image.*; import java.awt.datatransfer.*; import javax ...

  2. java bufferedimage颜色_基于Java BufferedImage实现识别图片中的黑色矩形

    基于Java BufferedImage实现识别图片中的黑色矩形 前言:在项目中需要实现将图片中的黑色矩形替换为其他图形,其中的难点在于图片中存在其他黑点或者黑色小方块. 实现思路: 二值化,将纯黑的 ...

  3. java listview颜色_[摘]android listview选中某一行,成选中状态颜色高亮显示

    构造自己的adapter,在getView中,设置颜色,点击item,刷新listview. 代码: view plaincopy to clipboardprint? import java.uti ...

  4. java label颜色_如何设置JLabel的背景颜色?

    问题 在myJPanel中,我将aJLabel的背景设置为不同的颜色.我可以看到"测试"这个词,它是蓝色的,但背景根本不会改变.我该怎么把它展示出来? this.setBackgr ...

  5. java 随机颜色_仅在Java中生成随机的“深色”颜色 - java

    因此,我有以下用于生成应用程序中使用的随机颜色的方法: public final Color generateRandomColour() { return Color.getHSBColor(new ...

  6. java 按钮 颜色_改变按钮颜色的java事件,个人成果!

    import java.awt.*; import java.awt.event.*; public class Eventest { Button btn1=new Button("单击& ...

  7. java 日志颜色_【Java】+日志打印+日志颜色设置

    先看个效果 一.log4j日志打印配置 1.1.maven依赖 log4j log4j 1.2.17 1.2.新建log4j.properties文件 项目src目录下新建一个文件 "log ...

  8. java边框颜色_边框颜色顺序

    您调整边框颜色的顺序无关紧要 . 浏览器只是以不同的方式显示边框 . 角落中的像素从任一侧获得颜色,这取决于您使用的浏览器 . 有几种不同的方法 . 以下是最常见的浏览器,以及它们如何绘制角落: In ...

  9. java 滚动条 颜色_滚动条颜色样式设置

    对里面样式的介绍: 语法: scrollbar-face-color :color 参数: color : 指定颜色. 说明: 设置或检索滚动条3D表面(ThreedFace)的颜色.(演示) 语法: ...

最新文章

  1. python自学视频-师傅带徒弟学Python:第一篇Python基础视频课程
  2. Dev-C++实现调试功能
  3. 使用Chrome开发者工具研究JavaScript函数的原生实现原理
  4. php引用代码_PHP引用是什么?php中引用的介绍(代码实例)
  5. 大前端快闪二:react开发模式 一键启动多个服务
  6. 动脑2017android_您肯定要在2017年初尝试的25个新Android库
  7. Mac终端编c语言,【新手提问】有知道用mac终端编c语言的网络编程的人吗?
  8. 当心:您可能会使用免费的Web辅助功能插件获得不需要付费的东西
  9. dubbo 2.8.4(dubbox)的jar包制作【添加到maven本地仓库】
  10. 计算机软件的制作过程,迅捷流程图制作软件
  11. 如何建立高绩效的团队
  12. Javashop多用户商城系统源码 云表-无代码开发平台 框架源码
  13. Python最全学习路线
  14. 记录学习向量的铭心刻骨的句子
  15. python羊车门问题_羊车门问题简析
  16. 【转帖】绝版破解软件教程就不信你学不会!!
  17. 谈谈QUIC协议原理
  18. 钜大锂电池并联串联知识详解 并联串联注意事项18650
  19. .dll、.lib、.dll.a 的区别
  20. microsoft exchange server 2007 mrm

热门文章

  1. 【机器视觉案例】(8) AI视觉,手势控制电脑鼠标,附python完整代码
  2. matlab实现移动平均
  3. oc 协议 回调 静态成员_OC底层原理探究:Category、关联对象和block本质
  4. 3D广告建模-C4D Octane渲染视频教程
  5. Ubuntu 将 /home 或 /var 目录挂载到新的分区
  6. kotlin + springboot启用elasticsearch搜索
  7. 脱壳 VMProtect 1.70.4
  8. poj2154-color-polyan次二面体+欧拉函数优化
  9. static关键字和内存使用
  10. 操作SQLite数据库