资讯专栏INFORMATION COLUMN

使用BufferedImage进行渐变色操作

mozillazg / 1186人阅读

摘要:序本文主要简述一下如何使用进行渐变色操作。这个是生成渐变色的关键类,当然也有其他的渐变类,比如实例从左上到右下渐变原理就是先使用画一个渐变色的矩形,然后将原图使用一定透明度覆盖上去,这样就看出渐变。不足之后的话,就是渐变颜色会偏淡。

本文主要简述一下如何使用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,大家一起学习交流。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67938.html

相关文章

  • 使用BufferedImage进行变色操作

    摘要:序本文主要简述一下如何使用进行渐变色操作。这个是生成渐变色的关键类,当然也有其他的渐变类,比如实例从左上到右下渐变原理就是先使用画一个渐变色的矩形,然后将原图使用一定透明度覆盖上去,这样就看出渐变。不足之后的话,就是渐变颜色会偏淡。 序 本文主要简述一下如何使用BufferedImage进行渐变色操作。 GradientPaint java/awt/GradientPaint.java...

    he_xd 评论0 收藏0
  • 手把手教你用echarts和SovitChart开发带变色的柱状图

    摘要:我们在开发应用的时候经常美工会设计一些样式比较特殊的图表,这对于前端开发人员来说会增加开发量,如下图就是笔者开发过程中要求制作的带渐变色效果的柱状图今天在这里教大家如何用原生和如何用图表开发工具来实现。 我们在开发web应用的时候经常美工会设计一些样式比较特殊的图表,这对于前端开发人员来说会...

    RaoMeng 评论0 收藏0
  • 简单说 通过CSS实现 文字变色 的两种方式

    摘要:说明这次的重点就在于两个属性,属性属性这两个属性分别是两种实现方式的关键。属性简单说,就是能让元素的某一部分显示或隐藏。我们看张图就能明白,第二种方式实现的原理了总结这次说的这两种方式,应该算是很容易理解了,希望对大家有点帮助。 说明 这次的重点就在于两个属性, background 属性 mask 属性 这两个属性分别是两种实现方式的关键。 解释 方式一 效果图 ...

    Mr_houzi 评论0 收藏0
  • 简单说 通过CSS实现 文字变色 的两种方式

    摘要:说明这次的重点就在于两个属性,属性属性这两个属性分别是两种实现方式的关键。属性简单说,就是能让元素的某一部分显示或隐藏。我们看张图就能明白,第二种方式实现的原理了总结这次说的这两种方式,应该算是很容易理解了,希望对大家有点帮助。 说明 这次的重点就在于两个属性, background 属性 mask 属性 这两个属性分别是两种实现方式的关键。 解释 方式一 效果图 ...

    crelaber 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<