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

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

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

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

項(xiàng)目場(chǎng)景

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

問(wèn)題描述

但是在簽名圖片導(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ù)摸索,請(qǐng)多指教。

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

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

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

縮小一副圖片最常見(jiàn)的方法

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

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

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

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

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

: D

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

相關(guān)文章

  • spring集成mybatis實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)讀寫(xiě)分離

    spring集成mybatis實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)讀寫(xiě)分離

    本文通過(guò)實(shí)例代碼給大家介紹了spring集成mybatis實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)讀寫(xiě)分離,需要的朋友可以參考下
    2017-08-08
  • SpringBoot與Spring之間的對(duì)比

    SpringBoot與Spring之間的對(duì)比

    這篇文章主要介紹了SpringBoot與Spring之間的對(duì)比,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Java線程池的簡(jiǎn)單使用方法實(shí)例教程

    Java線程池的簡(jiǎn)單使用方法實(shí)例教程

    線程的使用在java中占有極其重要的地位,在jdk1.4極其之前的jdk版本中,關(guān)于線程池的使用是極其簡(jiǎn)陋的,在jdk1.5之后這一情況有了很大的改,這篇文章主要給大家介紹了關(guān)于Java線程池的簡(jiǎn)單使用方法,需要的朋友可以參考下
    2021-10-10
  • SpringBoot之@Scheduled注解用法解讀

    SpringBoot之@Scheduled注解用法解讀

    這篇文章主要介紹了SpringBoot之@Scheduled注解用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • SpringBoot前后端json數(shù)據(jù)交互的全過(guò)程記錄

    SpringBoot前后端json數(shù)據(jù)交互的全過(guò)程記錄

    現(xiàn)在大多數(shù)互聯(lián)網(wǎng)項(xiàng)目都是采用前后端分離的方式開(kāi)發(fā),下面這篇文章主要給大家介紹了關(guān)于SpringBoot前后端json數(shù)據(jù)交互的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • SpringBoot?+?layui?框架實(shí)現(xiàn)一周免登陸功能示例詳解

    SpringBoot?+?layui?框架實(shí)現(xiàn)一周免登陸功能示例詳解

    這篇文章主要介紹了SpringBoot+layui框架實(shí)現(xiàn)一周免登陸功能,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • intellij idea創(chuàng)建第一個(gè)動(dòng)態(tài)web項(xiàng)目的步驟方法

    intellij idea創(chuàng)建第一個(gè)動(dòng)態(tài)web項(xiàng)目的步驟方法

    這篇文章主要介紹了intellij idea創(chuàng)建第一個(gè)動(dòng)態(tài)web項(xiàng)目的步驟方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Spring Boot2解決idea console 控制臺(tái)輸出亂碼的問(wèn)題

    Spring Boot2解決idea console 控制臺(tái)輸出亂碼的問(wèn)題

    這篇文章主要介紹了Spring Boot2解決idea console 控制臺(tái)輸出亂碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Servlet第一個(gè)項(xiàng)目的發(fā)布(入門(mén))

    Servlet第一個(gè)項(xiàng)目的發(fā)布(入門(mén))

    這篇文章主要介紹了Servlet第一個(gè)項(xiàng)目的發(fā)布,下面是用servlet實(shí)現(xiàn)的一個(gè)簡(jiǎn)單的web項(xiàng)目,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • Mybatis下動(dòng)態(tài)sql中##和$$的區(qū)別講解

    Mybatis下動(dòng)態(tài)sql中##和$$的區(qū)別講解

    今天小編就為大家分享一篇關(guān)于Mybatis下動(dòng)態(tài)sql中##和$$的區(qū)別講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03

最新評(píng)論

罗江县| 山阴县| 贡觉县| 黔西县| 嘉兴市| 清远市| 德昌县| 鄯善县| 昌图县| 阿克苏市| 辽宁省| 怀安县| 湖口县| 玉田县| 甘孜县| 河间市| 大理市| 开鲁县| 公主岭市| 海阳市| 武乡县| 新安县| 藁城市| 广汉市| 吴忠市| 金川县| 郓城县| 庆城县| 兰溪市| 故城县| 莱西市| 翁牛特旗| 根河市| 万宁市| 天柱县| 泸西县| 额济纳旗| 阳原县| 喀什市| 永平县| 北流市|