最新国产好看的视频,伊人天堂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語言支持GIF、JPEG和BMP這3種主要圖像文件格式。java語言的圖像處理功能被封裝在Image類中。
圖像載入和輸出

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

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

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


URL(uniform Resource Location 統(tǒng)一資源定位符)對(duì)象用于標(biāo)識(shí)資源的名字和地址,在WWW客戶機(jī)訪問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):取高度。

輸出圖像的代碼寫在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類也實(shí)現(xiàn)ImageObserver接口,常用this作為實(shí)參。參見以下代碼及注釋:
(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等類中沒有提供getImage()方法,它們載入圖像需要使用java.awt.Toolkit中的Toolkit抽象類,該類有載入圖像文件的方法:

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

這樣,各種組件可以用getToolkit()方法得到Toolkit對(duì)象,然后在組件的paint()方法中通過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í),載入圖像的代碼常寫成這樣:

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

相關(guān)文章

  • eclipse連接不到genymotion問題的解決方案

    eclipse連接不到genymotion問題的解決方案

    今天小編就為大家分享一篇關(guān)于eclipse連接不到genymotion問題的解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    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í),需要獲取訪問客戶端的IP地址,所以下面這篇文章主要給大家介紹了關(guān)于springboot獲取真實(shí)ip地址的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Java連接數(shù)據(jù)庫步驟解析(Oracle、MySQL)

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

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

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

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

    Alibaba?Fastjson之超好用的JOSN解析庫

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

    SpringBoot整合Shiro和Redis的示例代碼

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

    Spring?ComponentScan的掃描過程解析

    這篇文章主要介紹了spring?ComponentScan的掃描過程解析,本文通過實(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)論

理塘县| 开平市| 肥城市| 金沙县| 仁寿县| 青川县| 乌什县| 邢台县| 繁昌县| 郸城县| 湘乡市| 宜昌市| 兴宁市| 仙桃市| 得荣县| 万载县| 武宁县| 于都县| 鸡西市| 静安区| 乌兰浩特市| 延寿县| 武安市| 白银市| 和龙市| 昌黎县| 长宁县| 监利县| 乌恰县| 江孜县| 南陵县| 岑溪市| 鸡西市| 阳新县| 黑水县| 罗源县| 广河县| 肥城市| 茌平县| 屏山县| 周至县|