最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java操作透明圖片并保持背景透明的實現(xiàn)

 更新時間:2021年11月15日 08:57:25   作者:雪落南城  
這篇文章主要介紹了Java操作透明圖片并保持背景透明的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Java操作透明圖片并保持背景透明

最近的一個需求,需要對背景為透明的圖片加漢字,加完后會出現(xiàn)背景變黑的情況,附上解決方案

public static void pressText2(String sourceImg,String targetImg) {
    try {
        File file = new File(sourceImg);
        File targetfile = new File(targetImg);
        Image image = ImageIO.read(file);
        int width = image.getWidth(null);
        int height = image.getHeight(null);
        BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        Graphics2D g = bufferedImage.createGraphics();
        bufferedImage = g.getDeviceConfiguration()
                .createCompatibleImage(width, height, Transparency.TRANSLUCENT);
        g = bufferedImage.createGraphics();
        g.drawImage(image, 0, 0, null);
        g.setColor(Color.BLACK);
        g.drawString("wudididi",20,20);
        ImageIO.write(bufferedImage, "png", targetfile);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

這樣新的圖片會有加的漢字并且保持背景透明

Java圖片背景透明及透明度處理

如題,以下為通過java實現(xiàn)的針對圖片的背景透明及透明度處理,供大家需要時參考:

/**
* 設(shè)置源圖片為背景透明,并設(shè)置透明度
* @param srcFile 源圖片
* @param desFile 目標(biāo)文件
* @param alpha 透明度
* @param formatName 文件格式
* @throws IOException
*/
public static void transparentImage(String srcFile,String desFile,int alpha,String formatName) throws IOException{
    BufferedImage temp =  ImageIO.read(new File(srcFile));//取得圖片
        transparentImage(temp, desFile, alpha, formatName);
    }
/**
* 設(shè)置源圖片為背景透明,并設(shè)置透明度
* @param srcImage 源圖片
* @param desFile 目標(biāo)文件
* @param alpha 透明度
* @param formatName 文件格式
* @throws IOException
*/
public static void transparentImage(BufferedImage srcImage,
String desFile, int alpha, String formatName) throws IOException {
int imgHeight = srcImage.getHeight();//取得圖片的長和寬
        int imgWidth = srcImage.getWidth();
        int c = srcImage.getRGB(3, 3);
        //防止越位
        if (alpha < 0) {
            alpha = 0;
         } else if (alpha > 10) {
            alpha = 10;
         }
        BufferedImage bi = new BufferedImage(imgWidth, imgHeight,
                BufferedImage.TYPE_4BYTE_ABGR);//新建一個類型支持透明的BufferedImage
        for(int i = 0; i < imgWidth; ++i)//把原圖片的內(nèi)容復(fù)制到新的圖片,同時把背景設(shè)為透明
        {
            for(int j = 0; j < imgHeight; ++j)
            {
            //把背景設(shè)為透明
                if(srcImage.getRGB(i, j) == c){
                    bi.setRGB(i, j, c & 0x00ffffff);
                }
                //設(shè)置透明度
                else{
                int rgb = bi.getRGB(i, j);
                    rgb = ((alpha * 255 / 10) << 24) | (rgb & 0x00ffffff);
                    bi.setRGB(i, j, rgb);
                }
            }
        }
ImageIO.write(bi, StringUtils.isEmpty(formatName)?FORMAT_PNG:formatName, new File(desFile));
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring?Boot整合Bootstrap的超詳細(xì)步驟

    Spring?Boot整合Bootstrap的超詳細(xì)步驟

    之前做前端開發(fā),在使用bootstrap的時候都是去官網(wǎng)下載,然后放到項目中,在頁面引用,下面這篇文章主要給大家介紹了關(guān)于Spring?Boot整合Bootstrap的超詳細(xì)步驟,需要的朋友可以參考下
    2023-05-05
  • SpringBoot3集成Zookeeper的代碼詳解

    SpringBoot3集成Zookeeper的代碼詳解

    ZooKeeper是一個集中的服務(wù),用于維護配置信息、命名、提供分布式同步、提供組服務(wù),分布式應(yīng)用程序以某種形式使用所有這些類型的服務(wù),本文將給大家介紹SpringBoot3集成Zookeeper的代碼,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • 關(guān)于JVM默認(rèn)堆內(nèi)存大小問題

    關(guān)于JVM默認(rèn)堆內(nèi)存大小問題

    這篇文章主要介紹了關(guān)于JVM默認(rèn)堆內(nèi)存大小問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Spring基于注解讀取外部配置文件

    Spring基于注解讀取外部配置文件

    這篇文章主要介紹了Spring基于注解讀取外部配置文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-12-12
  • Java面試題沖刺第七天--Spring框架1

    Java面試題沖刺第七天--Spring框架1

    這篇文章主要為大家分享了最有價值的三道Spring框架面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Spring AOP中的JDK和CGLib動態(tài)代理哪個效率更高?

    Spring AOP中的JDK和CGLib動態(tài)代理哪個效率更高?

    今天小編就為大家分享一篇關(guān)于Spring AOP中的JDK和CGLib動態(tài)代理哪個效率更高?,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • spring data JPA 中的多屬性排序方式

    spring data JPA 中的多屬性排序方式

    這篇文章主要介紹了spring data JPA 中的多屬性排序方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • JavaEE實現(xiàn)基于SMTP協(xié)議的郵件發(fā)送功能

    JavaEE實現(xiàn)基于SMTP協(xié)議的郵件發(fā)送功能

    這篇文章主要為大家詳細(xì)介紹了JavaEE實現(xiàn)基于SMTP協(xié)議的郵件發(fā)送功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • JDK安裝方法和Linux常見設(shè)置詳細(xì)版教程

    JDK安裝方法和Linux常見設(shè)置詳細(xì)版教程

    這篇文章主要給大家介紹了關(guān)于JDK安裝方法和Linux常見設(shè)置的相關(guān)資料,文章詳細(xì)介紹了如何在Linux系統(tǒng)中設(shè)置靜態(tài)IP、用戶名和主機名,配置防火墻,安裝JDK以及如何創(chuàng)建系統(tǒng)快照,需要的朋友可以參考下
    2024-11-11
  • SpringBoot 自動配置失效的解決方法

    SpringBoot 自動配置失效的解決方法

    本文主要介紹了SpringBoot 自動配置失效的解決方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論

阿城市| 松滋市| 彭泽县| 尤溪县| 蓬莱市| 广东省| 英山县| 兴山县| 丹东市| 娄烦县| 奎屯市| 山西省| 宁德市| 盘锦市| 留坝县| 德保县| 舞阳县| 富裕县| 乌鲁木齐市| 南宫市| 色达县| 丰镇市| 衡阳县| 抚松县| 三门县| 泰宁县| 山阳县| 商城县| 南郑县| 同心县| 那曲县| 加查县| 普陀区| 吴川市| 石门县| 汉中市| 英山县| 昭通市| 尤溪县| 崇州市| 葫芦岛市|