1. 程式人生 > >JAVA生成略縮圖

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 一個商用級別(免費)的加密資料層。這下也白乾了。所以要對付它。刪除它是不可能的,