亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java awt生成簽名圖片如何消除鋸齒化

 更新時間:2021年11月15日 10:27:47   作者:準(zhǔn)時下班  
這篇文章主要介紹了java awt生成簽名圖片如何消除鋸齒化,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

awt生成簽名圖片如何消除鋸齒化

項目場景

在一個線上互聯(lián)網(wǎng)醫(yī)院中,需要生成電子處方圖片,圖片里面會有醫(yī)生的手寫簽名。通過java.awt的Graphics2D方式來生成處方圖片,并將手寫簽名的圖片導(dǎo)入其中。

問題描述

但是在簽名圖片導(dǎo)入后,就可以看到明顯的鋸齒。

具體導(dǎo)入圖片代碼:

g2.drawImage(getImage("https://xx.jpg", 100, 50), WIDTH - (LEVEL_PADDING + 9 * contentFontSize + contentFontSize / 2) + 5, height - bottomLine - (contentFontSize + LINE_SPACING + 15) + 5,100, 50, null);
    private static BufferedImage getImage(String url) {
        if (Parameters.isEmpty(url)) return null;
        BufferedImage read = null;
        try {
            url = url.replaceFirst("https", "http");
            read = ImageIO.read(new URL(url));
            return read;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

效果如下:

在這里插入圖片描述

解決方案

修改代碼如下:

g2.drawImage(getImage("https://xx.jpg", 100, 50), WIDTH - (LEVEL_PADDING + 9 * contentFontSize + contentFontSize / 2) + 5, height - bottomLine - (contentFontSize + LINE_SPACING + 15) + 5, null); 
   /**
     * 抗鋸齒處理
     *
     * @param url
     * @return
     */
    private static Image getImage(String url, int width, int height) {
        if (Parameters.isEmpty(url)) return null;
        BufferedImage read = null;
        try {
            url = url.replaceFirst("https", "http");
            read = ImageIO.read(new URL(url));
            return read.getScaledInstance(width, height, BufferedImage.SCALE_SMOOTH);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

效果如下:

在這里插入圖片描述

就是解決方法,可能還有更好的方法,需要繼續(xù)摸索,請多指教。

AWT,SWT縮小圖片消除鋸齒的平滑處理

在Java中縮小圖片很容易就得到一張很糟糕的圖片,上面滿是鋸齒和不清晰的線條,在Java EE中,我們通常使用Jmagick,Jmagick使用的是類C語言程序提供給Java的API接口,在網(wǎng)站中運(yùn)行,效率較高,但是體積較大,程序復(fù)雜度也較高(相關(guān)下載安裝方式在各大網(wǎng)站上均有詳細(xì)敘述,不再此重復(fù))。如果不是特殊需要,不推薦在PC應(yīng)用程序中使用。

在PC應(yīng)用程序中,縮小一副圖片有好多方法

縮小一副圖片最常見的方法

  • awt中Image.getScaledInstance方法
  • swt中ImageData.ScaledTo方法
  • PaintEvent.gc.drawImage方法

awt中,設(shè)置getScaledInstance方法的第三個參數(shù)為BufferedImage.SCALE_SMOOTH即可

swt中如果使用ScaledTo方法只能得到一副慘不忍睹的圖片

所以swt縮小圖片而不產(chǎn)生鋸齒的方法只有在PaintEvent.gc.drawImage方法上做文章

說了這么多,其實方法很簡單.....就是在drawImage之前,設(shè)置e.gc.setAdvanced(true);e.gc.setAntialias(SWT.ON);

: D

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

相關(guān)文章

  • SpringBoot枚舉類型參數(shù)認(rèn)證的實現(xiàn)代碼

    SpringBoot枚舉類型參數(shù)認(rèn)證的實現(xiàn)代碼

    項目當(dāng)中經(jīng)常需要接口參數(shù)是否在一個可選的范圍內(nèi),也就是驗證類枚舉參數(shù)的需求,所以本文我們將使用SpringBoot實現(xiàn)枚舉類型參數(shù)認(rèn)證,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-12-12
  • SpringBoot中@Insert、@Update實現(xiàn)批量新增更新的使用示例

    SpringBoot中@Insert、@Update實現(xiàn)批量新增更新的使用示例

    本文主要介紹了SpringBoot中@Insert、@Update實現(xiàn)批量新增更新的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-10-10
  • 關(guān)于SpringBoot配置文件加載位置的優(yōu)先級

    關(guān)于SpringBoot配置文件加載位置的優(yōu)先級

    這篇文章主要介紹了關(guān)于SpringBoot配置文件加載位置的優(yōu)先級,我們也可以通過spring.config.location來改變默認(rèn)的配置文件位置,項目打包好后,我們可以通過命令行的方式在啟動時指定配置文件的位置,需要的朋友可以參考下
    2023-10-10
  • Tomcat數(shù)據(jù)源配置方法_JBuilder中

    Tomcat數(shù)據(jù)源配置方法_JBuilder中

    今天幫一同事配置一個數(shù)據(jù)源,采用tomcat5.5.9,本來是個很簡單的事,以前也配過,但由于很長時間沒用過容器提供的數(shù)據(jù)源了(IOC用慣了),也只記的個大概了,所以剛開始一配就出錯了,google了一下,有很多資料,照著試試卻都不好使(到不是別人說的不對,只是大家用的版本不同)。
    2008-10-10
  • 淺談spring和spring MVC的區(qū)別與關(guān)系

    淺談spring和spring MVC的區(qū)別與關(guān)系

    下面小編就為大家?guī)硪黄獪\談spring和spring MVC的區(qū)別與關(guān)系。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Java MyBatis-Plus之初始MyBatis

    Java MyBatis-Plus之初始MyBatis

    MyBatis-Plus是一個MyBatis的增強(qiáng)工具,在MyBatis的基礎(chǔ)上只做增強(qiáng)不做修改,為簡化開發(fā)、提高效率而生,本文給大家介紹MyBatis-Plus簡介和快速入門教程,需要的朋友參考下吧
    2021-10-10
  • 基于Java語言在窗體上實現(xiàn)飛機(jī)大戰(zhàn)小游戲的完整步驟

    基于Java語言在窗體上實現(xiàn)飛機(jī)大戰(zhàn)小游戲的完整步驟

    這篇文章主要給大家介紹了基于Java語言在窗體上實現(xiàn)飛機(jī)大戰(zhàn)小游戲的完整步驟,文中通過圖文以及實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-02-02
  • springboot集成kafka消費(fèi)手動啟動停止操作

    springboot集成kafka消費(fèi)手動啟動停止操作

    這篇文章主要介紹了springboot集成kafka消費(fèi)手動啟動停止操作,本文給大家介紹項目場景及解決分析,結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 使用maven編譯Java項目實例

    使用maven編譯Java項目實例

    這篇文章主要介紹了使用maven編譯Java項目實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下
    2019-06-06
  • Spring?bean配置單例或多例模式方式

    Spring?bean配置單例或多例模式方式

    這篇文章主要介紹了Spring?bean配置單例或多例模式方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01

最新評論