⑴ java中如何得到屏幕圖像信息並保存起來 最後畫出來 是不是用BufferedImage來保存啊 求一個大概過程
你的這個問題大概分為以下幾個步驟:
1.先得到屏幕圖像:
這里如果只是得到圖像,圖像抓取出來一般是矩形的圖片(有專門的方法Robot.createScreenCapture()),圖片的大小用邊界檢測來限制(java.Rectangle類中參考下),抓取到的圖片它有左上角那個點的坐標(x,y)還有寬度width,還有高度height,這些就是圖像的基本信息了(其他信息如顏色之類的是同樣的道理),最好寫一個Image的Bean,你存儲的時候就可以直接存對象,而不是每個圖像的基本信息了。
2.從內存中把圖片讀出來並保存到磁碟:
抓取下來的圖片被BufferedImage接收,但是這個圖片並沒有被保存起來,只是在內存中的緩存區而已。不管是什麼數據,包括資料庫裡面的表,都是以文件的形式被保存在磁碟上的,所以這里就要把BufferedImage寫入一個文件(推薦使用字元流)。這個過程用到的是IO上面的知識。
3.重新畫出圖片:
第二步中已經把圖片以對象的形式保存在文件中了,那麼你要畫出來就需要重新從文件中讀取出這個圖片的信息(IO上的知識)(x,y,width,height....),Frame會自動調用paint方法,但是你需要在Image的Bean裡面定義它自身的draw方法,然後在paint方法中調用draw方法,這樣就可以在你的程序窗口中畫出這張圖片。
⑵ java項目客戶上傳的圖片放到哪好
最好放在伺服器的一個文件夾目錄里,但要注意放在web-inf目錄下,然後資料庫表裡對應保存文件存放路徑就行了
⑶ java web項目中有很多的圖片,如何存放
一般有兩種情況,
一種是前端開發需要顯示的圖片,這個是頁面構成必須的元素,一般這些會做 動靜分離,後台介面 跟 前端資源會部署在不同的伺服器上,有不同的優化,一般會有轉發的伺服器,判斷是後台介面,就轉發到後台的伺服器,如果是前端資源,就轉發到前台的伺服器。一般情況下,前端伺服器,跟後台的伺服器,是分離開的,有不同的人去管理,如果項目小的話,可能就全放在一個。這個優化的化,你可以去了解下 CDN原理。這個是用來優化靜態資源載入情況的。
另一種情況是,顯示的圖片,不是前端構成的,是用戶上傳文件產生的,這種情況下,現在一般有專門的對象存儲,用過 七牛雲,跟阿里的。這個的邏輯是文件上傳的時候,不是上傳到我們自己的伺服器,上傳到專門的雲伺服器,我們自己資料庫只需要保存這些上傳文件的地址,真正使用的時候,把連接給前端,前端自動會根據內容到專門的雲伺服器上去獲取。所有的安全,優化,帶寬,緩存命中,這些都有由雲伺服器去保證。 簡單來說,只有有錢,這些東西根本不會成為你項目的瓶頸。
作為技術,我們討論的應該不是這些。圖片會做備份,這個可以有專門的磁碟陣列去實現,簡單來說,就是上傳的內容保存到磁碟的時候,會自動多保存幾個備份到不同的磁碟上。還是那句話,多去了解下CDN的原理,最後這段,個人理解,不一定對。
⑷ web鍥劇墖涓鑸瀛樺湪鍚庣鍝閲
web鍥劇墖涓鑸瀛樺湪Java鍚庣銆
web鍓嶇涓婁紶鍥劇墖鍒癑ava鍚庣錛屽苟淇濆瓨鍒版湰鍦般備竴鑸鏉ヨ達紝鍥劇墖鍦ㄥ悗絝鐨勫瓨鍌ㄦ柟寮忓垎涓轟袱縐嶏細涓錛屽彲浠ュ皢鍥劇墖浠ョ嫭絝嬫枃浠剁殑褰㈠紡瀛樺偍鍦ㄦ湇鍔″櫒鐨勬寚瀹鏂囦歡澶涓錛屽啀灝嗚礬寰勫瓨鍏ユ暟鎹搴撳瓧孌典腑錛屼簩錛屽皢鍥劇墖杞鎹㈡垚浜岃繘鍒舵祦錛岀洿鎺ュ瓨鍌ㄥ埌鏁版嵁搴撶殑Image綾誨瀷瀛楁典腑銆