當前位置:首頁 » 編程語言 » javajai

javajai

發布時間: 2022-04-23 21:01:00

1. java 實現 tif圖片(多頁的)轉換成jpg

多頁單個tif文件轉換為多個jpg文件
需要官方的一些包支持(具體參考源碼),上網找找即可。
源碼:
-------------------------
import java.io.*;
import com.sun.media.jai.codec.FileSeekableStream;
import com.sun.media.jai.codec.ImageDecoder;
import com.sun.media.jai.codec.ImageCodec;
import com.sun.media.jai.codec.TIFFEncodeParam;
import com.sun.media.jai.codec.TIFFDecodeParam;
import com.sun.media.jai.codec.JPEGEncodeParam;

import java.awt.image.RenderedImage;
import javax.media.jai.RenderedOp;
import javax.media.jai.JAI;
import java.awt.image.renderable.ParameterBlock;
public class MultiPageRead {
public static void main(String[] args) throws IOException {
new MultiPageRead().doitJAI();
}

public void doitJAI() throws IOException {
FileSeekableStream ss = new FileSeekableStream("./zhaoming.tif");
TIFFDecodeParam param0 = null;
TIFFEncodeParam param = new TIFFEncodeParam();
JPEGEncodeParam param1 = new JPEGEncodeParam();
ImageDecoder dec = ImageCodec.createImageDecoder("tiff", ss, param0);
int count = dec.getNumPages();
param.setCompression(TIFFEncodeParam.COMPRESSION_GROUP4);
param.setLittleEndian(false); // Intel
System.out.println("This TIF has " + count + " image(s)");
for (int i = 0; i < count; i++) {
RenderedImage page = dec.decodeAsRenderedImage(i);
File f = new File("./fk_" + i + ".jpg");
System.out.println("Saving " + f.getCanonicalPath());
ParameterBlock pb = new ParameterBlock();
pb.addSource(page);
pb.add(f.toString());
pb.add("JPEG");
pb.add(param1);
//JAI.create("filestore",pb);
RenderedOp r = JAI.create("filestore",pb);
r.dispose();

//RenderedOp op = JAI.create("filestore", page, "./zhaoming_" + i + ".jpg", "JPEG", param1);
}
}
}

2. java讀取TIFF圖像方法

Asprise offers TIFF writer and reader library as valued add-on to our flagship procts – Asprise OCR & JTwain. Tagged Image File Format (abbreviated TIFF) is a file format for mainly storing raster images. With Asprise Java TIFF library, you can easily create, manipulate (read and write), disassemble TIFF files easily.

你可以去他們家的網站去download這個API,然後就可以比較簡單的搞定這個TIFF的讀入問題了。

3. 要怎樣才能學好java

我以一個老程序員的身份分享一點感悟吧:

JAVA是一種軟體開發語言,和學其他任何一種開發語言有一樣的道理或者說方法。

學習一門軟體開發語言,應該先入門,然後,就可以「自學成才」。

那怎麼入門呢?

1,學語言,就是為了寫程序。啥基礎沒有,就得先了解其語法。語法包括其各保留字,數據類型,容器,類,對象模型,多線程,各種功能包。比如《JAVA編程思想》,就可以帶你入門。

2,如何創建一個項目,如何編譯,如何運行。如何調試。

這些隨便一本入門書都會講。

3,真正要開發一個軟體項目了,你還要了解JAVA這種語言以外的知識。

比如,一個簡單的客戶資料管理軟體,WEB版。

產品需求簡單定義為,對客戶資料的增刪改查。

可以先用AXURE畫一個界面設計,當然也可以直接在紙上畫線框圖。目的是畫出來最終用戶界面。定義出來用戶怎麼操作這個軟體。交互設計定義每一步操作和界面反饋。

還要想好,數據怎麼保存,用什麼資料庫(如MySQL),數據表怎麼設計(有哪些資料,對應到表的欄位上)

軟體後台架構怎麼設計?因為項目業務邏輯非常簡單,即可以前後端分離,也可以不分離。前端可以用VUE加UI框架,後端可以直接用spring,springMVC,不需要緩存層直接訪問資料庫MySql。(負雜的項目可能就需要redis緩存層,bbo微服務等)

設計完成就可以動手寫介面,前後端分離的設計需要先按原型圖(也可以是前面畫好的線框圖)來分解前後端交互介面。定義好介面協議(請求路徑,參數,返回什麼數據,什麼格式--一般用json格式)

到此差不多可以動手寫代碼了。(稍大點的項目中,測試工程師一般已經寫好測試用例了)

祭出你的順手IDE(IDEA),創建一個JAVA web項目,開始碼代碼吧。

總之,要學好一門語言,需要語法基礎,會創建項目,會編譯調試。其他基本上就是自學成才了。當然,身旁有高手,隨時請教更高效。

現在網上很多免費收費教學視頻,也可以試試。

資源很多,方法差不多,都是靠勤奮好學和持之以恆。

4. 怎麼將JAR和JAI文件安裝在JAVA里

可以放的
1、你的手機必須支持用數據線傳輸數據
2、你的手機必須有對應的驅動,比如FOR XP 的數據傳輸驅動
3、你的手機必須支持直接操作內存。
4、可以用Motomidman038這個軟體將 JAR 文件保存出來並自動生成 JAD 文件到硬碟上
5、再將著兩個文件直接存放到手機內存上。

另外,如果你如果能直接在手機內存上用手機的文件瀏覽功能看到文件的話,執行它它就會自動安裝了,安裝完成後就直接在JAVA管理文件夾下了。如果有錯誤提示,則說明你的手機不支持這個 JAR 軟體,所以不能使用。

5. java中的bufferedimage或者javacv中的iplimage如何實現圖像序列化

圖像對象可以編碼成指定圖像格式文件保存在硬碟上,需要時再對其進行解碼讀入內存。但是除了這樣還有別的辦法可以將圖像對象保存在硬碟上嗎? 熟悉Java I/O 的人也許可以想到採用對象序列化(Object serialization)試一試,很好,但是如果你研究了 BufferedImage 類的結構後就會大失所望(至少當時我是這樣)。

BufferedImage 提供一般圖像管理。BufferedImage 對象包括另外兩個對象:Raster 和 ColorModel。Raster 對象包含另外兩個對象:DataBuffer 和 SampleModel。不幸的是,他們都沒有實現序列化所必需的 Serializable 介面,所以無法直接對他們進行對象序列化。

我在學習 JAI 的時候發現了 javax.media.jai.remote 包里有一個類 SerializableRenderedImage,這個類實現了RenderedImage, Serializable 介面,可以將 RanderedImage 對象作為構造函數的參數實例化一個可以序列化的圖像對象。

查看JDK的文檔可以知道無論 Java 2D 中的 BufferedImage 還是 JAI 中的 PlanarImage 都實現了 RenderedImage 介面,也就是說所有實現自 RenderedImage 介面的對象均可作為參數包裝出一個 SerializableRenderedImage 類型對象,將其序列化。

6. 如何用JAVA轉換圖像格式

關於圖像轉換的方式,實際上操作的是圖像的位元組流。我的工作中遇到過將bmp文件壓縮為jpg以便於網路傳輸的課題。所以我這里重點介紹bmp轉為jpg的一個方法。

實際上,我更喜歡使用以前sun公司內部使用的api提供的轉換方法,這里使用到了兩個很重要的類:

com.sun.image.codec.jpeg.JPEGCodec
com.sun.image.codec.jpeg.JPEGImageEncoder

需要注意的是,它們所屬的一個jar包不存在於編譯目錄下,但存在於運行目錄下,所以我們首先需要在jre文件下找到rt.jar並導入進來以使得編譯通過。

我改寫了網上的一個轉換代碼,所得代碼如下:

備註:親自嘗試,當從jpg轉bmp時會轉很久很久時間(看不到盡頭),轉得的文件可以很大,所以建議不要使用。

7. 哪裡能下載jai_codec.jar、jai_core.jar、mlibwrapper_jai.jar這幾個jar包,在線等

jai的類在jdk1.5之後基本都已經包含在javax.imageio下面

想要的話,這里可以下載jai_codec.jar

這里有使用說明
http://java.sun.com/procts/java-media/jai/forDevelopers/jai1_0_1guide-unc/JAITOC.fm.html

8. 使用JAI,需要什麼jar文件

JAR(Java Archive,Java 歸檔文件)是與平台無關的文件格式,它允許將許多文件組合成一個壓縮文件。為 J2EE 應用程序創建的 JAR 文件是 EAR 文件(企業 JAR 文件)。

JAR 文件格式以流行的 ZIP 文件格式為基礎。與 ZIP 文件不同的是,JAR 文件不僅用於壓縮和發布,而且還用於部署和封裝庫、組件和插件程序,並可被像編譯器和 JVM 這樣的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用來指示工具如何處理特定的 JAR。

JAVA手機電子書的格式一般為JAR和JAD,其中JAD文件是一個說明文件,描述jar文件的信息。部分手機不支持直接讀取JAR(這是手機安全策略引起的),這時則需要JAD文件。這樣的手機只在少數。JAVA運行在JAVA虛擬機之上,也就是JVM,而很多低端機型也可以支持JAVA,因此就註定了JAVA格式的適用范圍相當廣泛。

9. Java有哪些好的第三方圖形庫

Oracle提供的 Java Advanced Imaging (JAI) 庫處理2D圖像還可以的。

10. 求教java大神講解一下jdk裡面的jar包是做什麼用的,是編譯之前用到,還是運行的時候用到

jar包實質上就是指的一個java程序在實現某些方法時所需要用到的封裝庫 打個比方 一個windows程序在執行的時候有時會出現錯誤 說某某dll文件沒找到 然後就不運行了 這個dll其實和jar包很相像 都是別人幫我們寫好的一些公共方法和類 我們要實現某一方法時自己寫會很累 所以有人幫我們寫好 到時你把他寫的jar包一導入 再調他的方法就ok了
所以jdk的jar包容易理解了吧 其實就是你在寫程序時import進來的東西哦 因為你要在程序中用不是 而你問它們是什麼時候用到 准確來說是分兩種 一種是你在類里import進來的 一種是你需要動態反射時用名字找到的 所以可以算是編譯及運行都有可能用到

熱點內容
羅技g502高級腳本 發布:2025-05-17 17:30:45 瀏覽:217
python解析post請求 發布:2025-05-17 17:27:19 瀏覽:696
社保測算密碼是什麼 發布:2025-05-17 17:25:09 瀏覽:157
phpini修改路徑 發布:2025-05-17 17:19:06 瀏覽:280
mac搭建php開發環境 發布:2025-05-17 17:18:22 瀏覽:782
佟大為關悅上超級訪問 發布:2025-05-17 17:09:50 瀏覽:310
閃迪存儲卡高速 發布:2025-05-17 17:09:14 瀏覽:470
ios文件加密插件 發布:2025-05-17 17:05:48 瀏覽:797
androidbutton自定義 發布:2025-05-17 16:58:34 瀏覽:169
android應用生命周期 發布:2025-05-17 16:53:16 瀏覽:779