導航:首頁 > 編程語言 > java中image類怎麼使用

java中image類怎麼使用

發布時間:2022-11-27 05:43:03

㈠ 怎樣使用java讀取image

這是一個圖片壓縮代碼,以前入職的時候照片必須得20k一下,所以我把100多k的照片壓縮成了16k,你可以看一下

package com.atee.test;

import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;

public class ImageShrink {

public static boolean compressPic(String srcFilePath, String descFilePath) throws IOException {
File file = null;
BufferedImage src = null;
FileOutputStream out = null;
ImageWriter imgWrier;
ImageWriteParam imgWriteParams;

// 指定寫圖片的方式為 jpg
imgWrier = ImageIO.getImageWritersByFormatName("jpg").next();
imgWriteParams = new javax.imageio.plugins.jpeg.JPEGImageWriteParam(
null);
// 要使用壓縮,必須指定壓縮方式為MODE_EXPLICIT
imgWriteParams.setCompressionMode(imgWriteParams.MODE_EXPLICIT);
// 這里指定壓縮的程度,參數qality是取值0~1范圍內,
imgWriteParams.setCompressionQuality((float) 0.7);
imgWriteParams.setProgressiveMode(imgWriteParams.MODE_DISABLED);
ColorModel colorModel =ImageIO.read(new File(srcFilePath)).getColorModel();// ColorModel.getRGBdefault();
// 指定壓縮時使用的色彩模式
// imgWriteParams.setDestinationType(new javax.imageio.ImageTypeSpecifier(
// colorModel, colorModel.createCompatibleSampleModel(16, 16)));
imgWriteParams.setDestinationType(new javax.imageio.ImageTypeSpecifier(
colorModel, colorModel.createCompatibleSampleModel(16, 16)));

try {
if (isBlank(srcFilePath)) {
return false;
} else {
file = new File(srcFilePath);System.out.println(file.length());
src = ImageIO.read(file);
out = new FileOutputStream(descFilePath);

imgWrier.reset();
// 必須先指定 out值,才能調用write方法, ImageOutputStream可以通過任何
// OutputStream構造
imgWrier.setOutput(ImageIO.createImageOutputStream(out));
// 調用write方法,就可以向輸入流寫圖片
imgWrier.write(null, new IIOImage(src, null, null),
imgWriteParams);
out.flush();
out.close();
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
public static boolean isBlank(String string) {
if (string == null || string.length() == 0 || string.trim().equals("")) {
return true;
}
return false;
}
public static void main(String[] args) throws IOException {
compressPic("C:\\358x441 - 111.jpg", "C:\\358x441 - 333.jpg");
}
}

㈡ java如何為image類型賦值

image數據類型是sqlserver中用來存貯變長的二進制數據,取值范圍在跟int數據類型一樣,所以在java中對應的數據類型可以是int,因為是二進制,也可以試試byte[],具體是int還是byte[]好,我沒用過,你可以試試。

㈢ java.awt包中的image如何使用

想打開圖像文件

參考java.awt.image.BufferedImage 和 java.awt.Toolkit

下面是 java.awt.Toolkit 的方法
Image createImage(byte[] imagedata)
Creates an image which decodes the image stored in the specified byte array.
abstract Image createImage(byte[] imagedata, int imageoffset, int imagelength)
Creates an image which decodes the image stored in the specified byte array, and at the specified offset and length.
abstract Image createImage(ImageProcer procer)
Creates an image with the specified image procer.
abstract Image createImage(String filename)
Returns an image which gets pixel data from the specified file.
abstract Image createImage(URL url)
Returns an image which gets pixel data from the specified URL.

㈣ Java程序中圖片的使用方法

使用圖像根據需要,可以有多種方法。
如果是放在組件中,如JButton、JLabel中,這些組件需要的是Icon介面的圖像,那麼使用ImageIcon類來載入圖像比較好,new ImageIcon(String filename)或new ImageIcon(URL location)都可以直接載入圖像文件。
甚至你還可以先用IO讀出byte流,也能用byte[]創建ImageIcon。還可以由已有的Image來創建。
更為高級的用法是,你還可以先創建個空的ImageIcon,然後重寫paintIcon(Component,Graphics,int,int)方法實現手工繪制!
如果你是要完成圖像繪制,那麼使用Image或BufferedImage比較好。
Toolkit.getDefaultToolkit().getImage(String或URL)就能載入圖像。
這種方法需要一個圖像觀察者來監視圖像是否載入完成,因為圖像載入是非同步的。通常,你用一個swing組件就可以充當這個角色。不過少用JLabel,因為我有一個程序用JLabel做觀察者CPU佔用率經常90%多,有時不出界面。用JPanel或JFrame都沒出過這個問題。從API文檔看,應該是所有的swing可視組件都實現了觀察者介面。
選了觀察者後,不用刻意觀察載入情況,很簡單的一個方法:swing組件的while(!prepareImage(Image));就可以了。
Image介面是Graphics類繪圖drawImage要用的,所以繪制時應該選這個。
BufferedImage是實現了Image介面的圖像,可以直接操作像索數據!所以利用演算法生成圖像再繪制,或圖像處理可以使用這種方法。如浮雕、反色等。
載入方法是ImageIO類的read方法。

㈤ image怎麼實例化 java

方法多了去了

Tookit.getDefaultTookit.createImage

ImageIO.read

new BufferedImage然後 getGraphics.paint()或者getGraphics().drawImage

等等

㈥ java 圖形化用戶界面中導入圖片 image 這個類 怎麼用

Image類是java所有圖形類的父類,本身不能直接生成圖片或者導入圖片
可以用Toolkit.getImage(String filename) 或者 Toolkit.getImage(URL url)獲得Image的實例

還可以通過Image的一些子類直接創造,例如BufferedImage可以直接創造一個指定大小和色彩范圍的Image

㈦ java中怎麼用一張圖的一部分做出一個image

BufferedImage這個類有個getSubimage方法可以切出一個矩形區域生成一個新的BufferedImage對象。可以參考下面的代碼

File imageFile=new File("a.jpg");
File outImageFile=new File("b.jpg");
BufferedImage img=ImageIO.read(imageFile);
BufferedImage outImg=img.getSubimage(0, 0, 1000, 1000);
ImageIO.write(outImg, "jpeg", outImageFile);

㈧ java script里的image圖片怎麼添加

創建一個img元素,添加到指定dom對象中即可。
可以先使用createElement()方法創建一個img元素,並向img元素的src屬性賦圖片的URL地址值。然後使用appendChild()方法將img元素添加到指定dom對象中即可。
參數:nodename:必須。創建元素的名稱。

㈨ java.awt.Image類

public Image getImage(URL url, String name)

返回能被繪制到屏幕上的 Image 對象。url 參數必須指定絕對 URL。name 參數是相對於 url 參數的說明符。
不管圖像存在與否,此方法總是立刻返回。當此 applet 試圖在屏幕上繪制圖像時,數據將被載入。繪制圖像的圖形圖元將逐漸繪制到屏幕上。

參數:
url - 給出圖像基本位置的絕對 URL。
name - 相對於 url 參數的圖象位置。
返回:
指定 URL 處的圖像。
public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer)
繪制指定圖像中當前可用的圖像。圖像的左上角位於該圖形上下文坐標空間的 (x, y)。圖像中的透明像素不影響該處已存在的像素。
此方法在任何情況下都立刻返回,甚至在圖像尚未完整載入,並且還沒有針對當前輸出設備完成抖動和轉換的情況下也是如此。
如果圖像已經完整載入,並且其像素不再發生更改,則 drawImage 返回 true。否則,drawImage 返回 false,並且隨著更多的圖像可用或者到了繪制動畫另一幀的時候,載入圖像的進程將通知指定的圖像觀察者。

參數:
img - 要繪制的指定圖像。如果 img 為 null,則此方法不執行任何操作。
x - x 坐標。
y - y 坐標。
observer - 轉換了更多圖像時要通知的對象。
返回:
如果圖像像素仍在更改,則返回 false;否則返回 true。

㈩ java 顯示不出圖片,使用Image類

public abstract Image getImage(String filename)

返回一幅圖像,該圖像從指定文件中獲取像素數據,圖像格式可以是 GIF、JPEG 或 PNG

所以你的代碼不支持ico格式的

閱讀全文

與java中image類怎麼使用相關的資料

熱點內容
電影搜索 英語翻譯 瀏覽:865
北京百度時代網路技術有限公司 瀏覽:996
主角叫林奕和陳婉兒的小說 瀏覽:896
手機網站做成app免費 瀏覽:462
全國最大影院免費 瀏覽:898
巫師三win10文件目錄 瀏覽:516
宋蒙之戰的電影 瀏覽:445
用ps如何將word轉換pdf文件 瀏覽:323
扎職2粵語在線看免費 瀏覽:136
winrar壓縮文件夾 瀏覽:185
翻譯中語影視APP 瀏覽:618
女主是顧念的小說 瀏覽:401
禁播級電影 瀏覽:900
齊河銀座天美電影院今日電影 瀏覽:488
康佳42r6610au升級 瀏覽:839
最新你懂得電影網站 瀏覽:873
javaapi文檔工具 瀏覽:296
系統修復部分文件 瀏覽:653
電腦上文件格式怎麼改pdf 瀏覽:923

友情鏈接