java圖片位元組
❶ java如何將連續的位元組數據轉成圖片數據
java是可以將圖片位元組轉成圖片的,但是你需要知道接受的數據對應一個圖片有多長,可以在每個圖片數據包前面加上此次圖片的長度,按長度截取位元組,轉成圖片,或者直接將位元組轉成視頻,畢竟你是連續的圖像
❷ Java 圖片base64編碼是對圖片存放路徑進行編碼還是對圖片本身位元組進行編碼
對圖片本身位元組進行編碼。你可以完成編碼後,把圖片刪除。拿著對應的編碼,解碼後還是能得到對應圖片的,所以可以證明以上結論。
❸ java語言中如何表示10m圖片的大小
使用File類,裡面有個方法是length();返迴文件的大小(位元組),然後把位元組換算成m就行
❹ java中如何將位元組數組轉化成圖片
java將byte數組轉換成圖片,可以File和IO操作來完成,實例如下:
//byte數組到圖片到硬碟上 public void byte2image(byte[] data,String path){ if(data.length<3||path.equals("")) return;//判斷輸入的byte是否為空 try{ FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));//打開輸入流 imageOutput.write(data, 0, data.length);//將byte寫入硬碟 imageOutput.close(); System.out.println("Make Picture success,Please find image in " + path); } catch(Exception ex) { System.out.println("Exception: " + ex); ex.printStackTrace(); } }
❺ 關於java處理圖像佔用空間大的相關問題~~
看你的圖像的色彩模型,
如果是RGB每個像素24bit,3個位元組,佔用1024*1024*3=3MiB內存
如果ARGB,一般都是每個像素32bit,4個位元組,佔用1024*1024*4=4MiB內存(Java也常用這個交換)
如果灰度模型,每個像素8bit,佔用1MiB內存
如果2值化,每個像素1bit,佔用1024*1024/8=128KiB內存,這在無壓縮情況下容量最小。
常見視頻I420模型,每個像素6bit,1024*1024能用768KiB獲得近似真彩的效果.
圖像處理在內存中就是這樣,如果想空間小,就要增加運算時間使用壓縮演算法和調整色彩模型。
❻ Java中圖片轉換成位元組流用哪些個類
File file = new File("E:\\ftp");//存放照片的文件
File [] files = file.listFiles();
InputStream fis = null;
byte[] imageByteArray = null;
for (int i = 0; i < files.length; i++){
File file1 = files[i];
fis = new FileInputStream(files[i]);
imageByteArray= IOUtils.toByteArray(fis);
}
❼ java哪個類提供了獲取圖片所佔存儲空間大小或者如何計算求詳細
圖片占內存容量計算公式為:
圖片所佔內存大小 = 圖片長度(像素) * 圖片寬度(像素) * 一個像素所佔內存空間(單位:位元組)
一般地,一個象素所佔內存空間根據機器顏色數(專業詞彙叫色深Color Depth)來決定:(1)Nokia 老S40機器 顏色數為4096色,就是2^12, 一個象素所佔內存空間為1.5個位元組;(2)Nokia S40新版 機器和 S60機器 顏色數為65536色,就是2^16, 一個象素所佔內存空間為2個位元組;有些機器顏色數為26w色,就是2^18=2.2位元組,1600w = 2^24=3個位元組,一個象素所佔內存空間為4個位元組。
ps:專業名詞「8位」是指所能表現的顏色深度:一個8點陣圖像僅最多隻能支持256(2^8)種不同顏色,1個位元組。
❽ java連續發送和接收幾張圖片位元組流
在接收端獲得輸入流in_stream2並在for的第一個循環中的while(in_stream2.read(b_image)>0)
中全部讀出來了,所以會出現你說的那個結果
具體解決辦法是有很多種,可以在發送端申明一個數組,存放文件的大小一起發送給接收端,接收端的while(in_stream2.read(b_image)>0)中再加以處理。
❾ JAVA如何用數據報傳輸圖片或位元組
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*,com.jspsmart.upload.*" %>
<html>
<head>
<title>上傳文件 </title>
</head>
<body>
<form id="form1" name="msform" method="post" action="do_upload.jsp" enctype="multipart/form-data" onSubmit="return Check_Found(this);" target="iframe1">
<table width="50%" border="1" align="center">
<tr>
<td align="center"><input type="text" name="name" id="text1"></td>
</tr>
<tr>
<td align="center">產品說明:
<input type="file" name="file2" value=""/>
<iframe name="iframe1" style="display:none"> </iframe>
<input type="submit" name="Submit" value="上傳圖片" />
</td>
</tr>
</table>
</form>
</body>
</html>
do_upload.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.util.*,com.jspsmart.upload.*" %>
<html>
<head>
<title>文件上傳處理頁面 </title>
</head>
<body>
<%
SmartUpload su=new SmartUpload();
su.initialize(pageContext);
su.upload();
String name;
int count=su.save("/upload",su.SAVE_VIRTUAL);
out.println(count+"個文件上傳成功! <br>");
for(int i=0;i <su.getFiles().getCount();i++)
{
com.jspsmart.upload.File file=su.getFiles().getFile(i);
if(file.isMissing()) continue;
String files=file.getFileName();
out.print("<script>window.parent.document.text1.value='../upload/"+file.getFileName()+"';</script>");
out.print("<script>alert('上傳成功!');</script>");
response.setHeader("Refresh","0;URL=addnewproce.jsp");
}
%>
</body>
</html>
不知道這個能不能幫助你。
如果你想問java里傳輸圖片的畫,就要用輸入輸出流了。fileinputstream或fileoutputstream
❿ java 圖片文件的讀取和寫入問題
while(i != -1){
os.write(b, 0, b.length);
i=is.read(b, 0, b.length);
}
關鍵是這里,b僅僅是作為一個緩沖區,是可以反復使用的。
建議不要設置的太小至少1024是比較好的。