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

使用Java進(jìn)行圖像處理的一些基礎(chǔ)操作

 更新時(shí)間:2015年10月09日 15:45:01   投稿:goldensun  
這篇文章主要介紹了使用Java進(jìn)行圖像處理的一些基礎(chǔ)操作,就載入和輸出相關(guān)的知識(shí)進(jìn)行了講解,需要的朋友可以參考下

圖像是由一組像素構(gòu)成,用二進(jìn)制形式保存的圖片。java語(yǔ)言支持GIF、JPEG和BMP這3種主要圖像文件格式。java語(yǔ)言的圖像處理功能被封裝在Image類(lèi)中。
圖像載入和輸出

在java程序中,圖像也是對(duì)象,所以載入圖像時(shí),先要聲明Image對(duì)象,然后,利用getImage()方法把Image對(duì)象與圖像文件聯(lián)系起來(lái)。載入圖像文件的方法有兩個(gè):
Image getImage(URL url),url指明圖像所在位置和文件名。
Image getImage(URL url,String name),url指明圖像所在位置,name是文件名。

例如,以下代碼聲明Image對(duì)象,并用getImage()對(duì)象與圖像文件聯(lián)系起來(lái):

  Image img = getImage(getCodeBase(),”family.jpg”);


URL(uniform Resource Location 統(tǒng)一資源定位符)對(duì)象用于標(biāo)識(shí)資源的名字和地址,在WWW客戶機(jī)訪問(wèn)Internet網(wǎng)上資源時(shí)使用。確定圖像位置的方法有兩種:絕對(duì)位置與相對(duì)位置。取相對(duì)位置的方法有:
URL getCodeBase(),取小應(yīng)用程序文件所在的位置。
URL getDocumentBase(),取HTML文件所在的位置。

例如,代碼:

  URL picURLA = new URL(getDocumentBase(),”imageSample1.gif”),
    picURLB = new URL(getDocumentBase(),”pictures/imageSample.gif”);
  Image imageA = getImage(picURLA),imageB = getImage(picURLB);

獲取圖像信息(屬性)的方法有:
getWidth(ImageObserver observer):取寬度;
getHeight(ImageObserver observer):取高度。

輸出圖像的代碼寫(xiě)在paint()方法中,有4種顯示圖像的方法:

boolean drawImage(Image img,int x,int y,ImageObserver observer)
boolean drawImage(Image img,int x,int y,Color bgcolor,ImageObserver observer)
boolean drawImage(Image img,int x,int y,int width,int height,ImageObsever observer)
boolean drawImage(Image img,int x,int y,int width,int height,Color bgcolor,ImageObsever observer)


參數(shù)img是Image對(duì)象,x,y是繪制圖像矩形的左上角位置,observer是加載圖像時(shí)的圖像觀察器,bgcolor是顯示圖像用的底色,width和height是顯示圖像的矩形區(qū)域,當(dāng)這個(gè)區(qū)域與圖像的大小不同時(shí),顯示圖像就會(huì)有縮放處理。

Applet類(lèi)也實(shí)現(xiàn)ImageObserver接口,常用this作為實(shí)參。參見(jiàn)以下代碼及注釋?zhuān)?br /> (1) g.drawImage(image1,0,0,this);//原圖顯示
(2) g.drawImage(image2,10,10,Color.red,this);//圖形加底色顯示
注意:如原圖的大小與給定的范圍不同,系統(tǒng)會(huì)自動(dòng)縮放
(3) g.drawImage(labImag,0,0,this);// 原圖顯示
(4) g.grawImage(labImag,0,120,100,100,this);//縮放顯示
(5) g.grawImage(labImag,0,240,500,100,this);//縮放顯示

【例】小應(yīng)用程序用init()或start()方法下載(獲取)圖像,用paint()方法顯示得到的圖像。

import java.applet.*;import java.awt.*;
public class Example7_5 extends Applet{
  Image myImag;
  public void start(){
    myImag = getImage(getCodeBase(),”myPic.jpg”);
  }
  public void paint(Graphics g){
    g.drawImage(myImg,2,2,this);
  }
}

由于在Frame、JFrame和JPanel等類(lèi)中沒(méi)有提供getImage()方法,它們載入圖像需要使用java.awt.Toolkit中的Toolkit抽象類(lèi),該類(lèi)有載入圖像文件的方法:

  • Image.getImage(String name):按指定的文件名載入圖像文件。
  • Image.getImage(URL url):統(tǒng)一資源定位符載入圖像文件。

這樣,各種組件可以用getToolkit()方法得到Toolkit對(duì)象,然后在組件的paint()方法中通過(guò)Toolkit對(duì)象顯示圖像。以下代碼示意這樣的用法:

  Toolkit tool = getToolkit();
  URL url = new URL(http://www.weixueyuan.net/image.gif);
  Image img = tool.getImage(url);


組件也可以使用Toolkit提供的靜態(tài)方法getDefaultToolkit()獲得一個(gè)缺省的Toolkit對(duì)象,并用它加載圖像。此時(shí),載入圖像的代碼常寫(xiě)成這樣:

  Image img = Toolkit.getDefaultToolkit().getImage(url);

相關(guān)文章

  • eclipse連接不到genymotion問(wèn)題的解決方案

    eclipse連接不到genymotion問(wèn)題的解決方案

    今天小編就為大家分享一篇關(guān)于eclipse連接不到genymotion問(wèn)題的解決方案,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • 識(shí)別率很高的java文字識(shí)別技術(shù)

    識(shí)別率很高的java文字識(shí)別技術(shù)

    這篇文章主要為大家詳細(xì)介紹了識(shí)別率很高的java文字識(shí)別技術(shù),親測(cè),希望對(duì)大家有幫助,感興趣的小伙伴們可以參考一下
    2016-08-08
  • springboot獲取真實(shí)ip地址的方法實(shí)例

    springboot獲取真實(shí)ip地址的方法實(shí)例

    在使用springboot時(shí),需要獲取訪問(wèn)客戶端的IP地址,所以下面這篇文章主要給大家介紹了關(guān)于springboot獲取真實(shí)ip地址的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Java連接數(shù)據(jù)庫(kù)步驟解析(Oracle、MySQL)

    Java連接數(shù)據(jù)庫(kù)步驟解析(Oracle、MySQL)

    本文主要介紹了Java連接Oracle數(shù)據(jù)庫(kù)和MySQL數(shù)據(jù)庫(kù)的步驟解析。具有很好的參考價(jià)值,需要的朋友一起來(lái)看下吧
    2016-12-12
  • Spring?BeanFactory容器的構(gòu)建和使用示例詳解

    Spring?BeanFactory容器的構(gòu)建和使用示例詳解

    BeanFactory是Spring框架中的一部分,它提供了IoC(控制反轉(zhuǎn))的實(shí)現(xiàn)機(jī)制,下面小編就來(lái)和大家簡(jiǎn)單聊聊BeanFactory容器的構(gòu)建和使用示例吧
    2023-07-07
  • Alibaba?Fastjson之超好用的JOSN解析庫(kù)

    Alibaba?Fastjson之超好用的JOSN解析庫(kù)

    這篇文章主要介紹了Alibaba?Fastjson之超好用的JOSN解析庫(kù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • SpringBoot整合Shiro和Redis的示例代碼

    SpringBoot整合Shiro和Redis的示例代碼

    這篇文章主要介紹了SpringBoot整合Shiro和Redis的示例代碼,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • Spring?ComponentScan的掃描過(guò)程解析

    Spring?ComponentScan的掃描過(guò)程解析

    這篇文章主要介紹了spring?ComponentScan的掃描過(guò)程解析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • java實(shí)現(xiàn)圖片文字識(shí)別ocr

    java實(shí)現(xiàn)圖片文字識(shí)別ocr

    這篇文章主要介紹了java實(shí)現(xiàn)圖片文字識(shí)別ocr ,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-08-08
  • 詳解Java Cglib動(dòng)態(tài)代理

    詳解Java Cglib動(dòng)態(tài)代理

    這篇文章主要介紹了Java Cglib動(dòng)態(tài)代理的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java代理,感興趣的朋友可以了解下
    2020-08-08

最新評(píng)論

报价| 云南省| 开阳县| 交城县| 方山县| 克什克腾旗| 淳化县| 康马县| 安吉县| 阜宁县| 山丹县| 洞口县| 大港区| 龙川县| 双鸭山市| 杭锦后旗| 安康市| 稷山县| 河源市| 衡水市| 沭阳县| 连平县| 万州区| 泾源县| 兰西县| 临泉县| 连江县| 休宁县| 东海县| 友谊县| 南京市| 康保县| 叶城县| 延庆县| 曲麻莱县| 卢湾区| 红桥区| 洛川县| 开原市| 无极县| 旺苍县|