JAVA生成略縮圖
-為節省網路或者儲存資源,需要將畫素大的圖片生成縮圖,以便展示
-具體實現如下(util類摘自網路)
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.imageio.ImageIO;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
//將圖片轉換為略縮圖
public class ResizeImage {
/**
* @Description: 取得圖片物件
* @param 要轉化的影象的資料夾,就是存放影象的資料夾路徑
* @date 2017年5月7日10:48:27
*/
public BufferedImage zoomImage(BufferedImage im, int toWidth , int toHeight) {
BufferedImage result = new BufferedImage(toWidth, toHeight, BufferedImage.TYPE_INT_RGB);
result.getGraphics().drawImage(im.getScaledInstance(toWidth, toHeight, java.awt.Image.SCALE_SMOOTH), 0, 0, null);
return result;
}
/**
*
* @Description: 取得圖片物件
* @param 要轉化的影象的資料夾,就是存放影象的資料夾路徑
* @date 2017年5月7日10:48:27
*/
public BufferedImage getImageList(String ImgList, String[] type) throws IOException{
Map<String,Boolean> map = new HashMap<String, Boolean>();
for(String s : type) {
map.put(s,true);
}
BufferedImage imageList = null;
File file = null;
file = new File(ImgList);
try{
if(file.length() != 0 && map.get(getExtension(file.getName())) != null ){
imageList = javax.imageio.ImageIO.read(file);
}
}catch(Exception e){
imageList = null;
}
return imageList;
}
/**
* 把圖片寫到磁碟上
* @param im
* @param path eg: C://home// 圖片寫入的資料夾地址
* @param fileName DCM1987.jpg 寫入圖片的名字
* @date 2017年5月7日10:48:27
*/
public boolean writeToDisk(BufferedImage im, String path, String fileName) {
File f = new File(path + fileName);
String fileType = getExtension(fileName);
if (fileType == null)
return false;
try {
ImageIO.write(im, fileType, f);
im.flush();
return true;
} catch (IOException e) {
return false;
}
}
/**
*
* @Description: 生成圖片
* @param String path , BufferedImage im, String fileFullPath
* @date 2017年5月7日10:48:27
*/
public boolean writeHighQuality(String path , BufferedImage im, String fileFullPath) throws IOException {
//return true;
FileOutputStream newimage = null;
try {
// 輸出到檔案流
newimage = new FileOutputStream(fileFullPath+path);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);
JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(im);
// 壓縮質量
jep.setQuality(1f, true);
encoder.encode(im, jep);
//近JPEG編碼
newimage.close();
return true;
} catch (Exception e) {
return false;
}
}
/**
*
* @Description: 取檔名的字尾
* @param String fileName 格式如:cn1100000213EA_1_xnl.jpg
* @date 2017年5月7日10:48:27
*/
public String getExtension(String fileName) {
try {
return fileName.split("\\.")[fileName.split("\\.").length - 1];
} catch (Exception e) {
return null;
}
}
}
- 呼叫:
String outputFolder = "D:\\test\\";
String fileName = "D:\\test\\test.jpg";
ResizeImage r = new ResizeImage();
int toWidth=220;
int toHeight=220;
BufferedImage imageList = r.getImageList(fileName,new String[] {"jpg","png","gif"});
r.writeHighQuality("newFile.jpg",r.zoomImage(imageList,toWidth,toHeight),outputFolder);
相關推薦
JAVA生成略縮圖
-為節省網路或者儲存資源,需要將畫素大的圖片生成縮圖,以便展示 -具體實現如下(util類摘自網路) import java.awt.image.BufferedImage; import java.io.File; import java.io.Fi
Spring MVC上傳圖片,Java二進位制圖片寫入資料庫,生成略縮圖
步驟:1.將圖片上傳到伺服器的一個磁碟目錄下。 2.將剛才上傳好的圖片寫入資料庫image欄位。 一、上傳圖片:使用的是spring mvc 對上傳的支援。 jsp 頁面: <form name="uploadForm" id="uploadForm" m
JAVA生成圖片縮圖、JAVA擷取圖片區域性內容
目前,google已經有了更好的處理JAVA圖片的工具,請搜尋:Thumbnailator package com.ares.image.test; import java.awt.Color; import java.awt.Graphics; impor
JAVA生成圖片縮圖、JAVA擷取圖片區域性內容的案例
JAVA生成圖片縮圖 package com.ares.image.test; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.image.Bu
java生成圖片縮圖
當圖片很大的時候,要生成預覽圖來提高網站響應速率,採用java的image相關類來生成縮圖 package com.liuc.core; import java.awt.Image; import java.awt.image.BufferedImage; import
Java——使用javacv生成視訊縮圖
轉載大佬文章,以備後期再次需要,親測使用有效 新增依賴 在pom.xml中新增依賴配置 <dependencies> <dependency> <groupId>org.bytedeco</groupId
如何生成網頁的略縮圖?
1. 關鍵程式碼: using System; using System.Drawing; using System.Windows.Forms; using System.Threading; using System.IO; using System.Reflectio
java操作圖片將圖片改為略縮圖
前言:雖然我做的是上傳到伺服器,但是利用程式碼操作圖片,大家還是可以借鑑下.反正最後操作完成後的得到的是流物件,然後再將流物件進行'讀'的操作,就可以將處理後的圖片儲存到本地 我做的類似於在線上傳頭像的功能, 將圖片進行修改然後得到的路徑上傳到伺服器,(得到的url是直接
簡單實現前端選擇上傳圖片並顯示略縮圖
效果 實現程式碼 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>修改資訊</title> <sc
獲取apk的logo和視訊檔案的略縮圖
APK /** * 獲取Apk檔案的Log圖示 * @param context * @param apk_path Apk路徑 * @return */ public static Drawable getApkThumb
PHP 生成圖片縮圖函式
各位小盆友使用前記得開啟 GD 庫的支援哦,附上程式碼。 <?php /** * 生成縮圖函式(支援圖片格式:gif、jpeg、png和bmp) * @author ruxing.li * @param string $src 源圖片路徑 * @p
讀取24位 BMP 影象並生成 JPG 縮圖(一)
//對24位BMP進行解析 if(nbitcount==24){ int npad=(nsizeimage/nheight)-nwidth*3; int ndata[]=new int[nheight*nwidth]; byte
php實現等比例生成圖片縮圖不失真
//等比例生成圖片縮圖不失真 function resizeImage($im,$maxwidth,$maxheight,$name,$filetype){ $pic_width = imagesx($im); $pic_height = imagesy($
jQuery Lightbox Plugin-經典的略縮圖檢視外掛
本外掛是借用強大的圖片瀏覽外掛Lightbox 而擴充套件而來的,主要用途是用於展示圖片。輕量的外掛 用途卻十分強大,展示圖片的效果也十分炫目。操作十分簡單,大家看下下載檔案就能懂。 檢視效果圖 文章詳情
nginx+lua_nginx+GraphicsMagick生成實時縮圖
暫做筆記,帶後續驗證通過後,再補充 1、2、3 步。 一、安裝 lua 首先確認是否安裝 readline yum -y install readline-devel ncurses-devel 進入頁面:http://www.lua.org/download.html wg
ASP.NET根據URL生成網頁縮圖示例程式(C#語言)
工作中可能馬上要用到根據URL生成網頁縮圖功能,提前做好準備。 在網上找了份原始碼,但是有錯誤:當前執行緒不在單執行緒單元中,因此無法例項化 ActiveX 控制元件“8856f961-340a-11d0-a9”,解決後執行良好,記錄在此備用! 起始頁:Default
tp5中上傳圖片方法,並生成相應縮圖的方法
//接收上傳檔案的name$file = $this->_req->file("upload_head_image");//將上傳的檔案移動到public/uploads/user$info = $file->validate(['size'=>524
生成圖片縮圖
package com.ares.image.test; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import java.io
java 生成柱狀圖、餅狀圖等圖片
package com.sinosoft.webmodule.landLibrary; import java.awt.Color; import java.awt.Font; import java.io.File; import java.io.FileOutputSt
禁止安卓在DCIM資料夾下生成.thumbnails縮圖資料夾的方法
~/.thumbnails你開啟看這個資料夾,是不是很奇怪。有好多你瀏覽過的圖片,包括u盤等移動介質。還有預覽的圖片也在其中,隨著時間可能達到1~2G有些個人隱私,也跑這個資料夾中了。比如我喜歡使用 ecryptfs-ulit 一個商用級別(免費)的加密資料層。這下也白乾了。所以要對付它。刪除它是不可能的,