日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用BufferedImage进行渐变色操作

發布時間:2025/3/8 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用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进行渐变色操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。