java後台多圖預覽,java實現圖片預覽

本文目錄一覽:

java實現圖片預覽功能,可以顯示縮列圖,具有上下頁的功能求技術支持

把圖片按照規定的比例壓縮,然後保存至FTP,列表讀取縮略圖,單擊顯示原圖。

/**

     * 壓縮圖片方法一(高質量)

     * @param oldFile 將要壓縮的圖片

     * @param width 壓縮寬

     * @param height 壓縮高

     * @param smallIcon 壓縮圖片後,添加的擴展名(在圖片後綴名前添加)

     * @param quality 壓縮質量 範圍:i0.0-1.0/i 高質量:i0.75/i 中等質量:i0.5/i 低質量:i0.25/i

     * @param percentage 是否等比壓縮 若true寬高比率將將自動調整

     */

    public static void compressImage(String oldFile, int width, int height, String smallIcon,

            float quality, boolean percentage) {

        try {

            File file = new File(oldFile);

            

            // 驗證文件是否存在

            if(!file.exists())

                throw new FileNotFoundException(“找不到原圖片!”);

            

            // 獲取圖片信息

            BufferedImage image = ImageIO.read(file);

            int orginalWidth = image.getWidth();

            int orginalHeight = image.getHeight();

            

            // 驗證壓縮圖片信息

            if (width = 0 || height = 0 || !Pattern.matches(“^[1-9]\\d*$”, String.valueOf(width))

                    || !Pattern.matches(“^[1-9]\\d*$”, String.valueOf(height)))

                throw new Exception(“圖片壓縮後的高寬有誤!”);

            

            // 等比壓縮

            if (percentage) {

                double rate1 = ((double) orginalWidth) / (double) width + 0.1;

                double rate2 = ((double) orginalHeight) / (double) height + 0.1;

                double rate = rate1  rate2 ? rate1 : rate2;

                width = (int) (((double) orginalWidth) / rate);

                height = (int) (((double) orginalHeight) / rate);

            }

            

            // 壓縮後的文件名

            String filePrex = oldFile.substring(0, oldFile.lastIndexOf(‘.’));

            String newImage = filePrex + smallIcon + oldFile.substring(filePrex.length());

            // 壓縮文件存放位置

            File savedFile = new File(newImage);

            // 創建一個新的文件

            savedFile.createNewFile();

            // 創建原圖像的縮放版本

            Image image2 = image.getScaledInstance(width, height, Image.SCALE_AREA_AVERAGING);

            // 創建數據緩衝區圖像

            BufferedImage bufImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

            // 創建一個Graphics2D

            Graphics2D g2 = bufImage.createGraphics();

            // 重繪圖像

            g2.drawImage(image2, 0, 0, width, height, null);

            g2.dispose();

            

            // 過濾像素矩陣

            float[] kernelData = { 

                    -0.125f, -0.125f, -0.125f, 

                    -0.125f, 2, -0.125f, -0.125f, 

                    -0.125f, -0.125f };

            Kernel kernel = new Kernel(3, 3, kernelData);

            

            // 按核數學源圖像邊緣的像素複製為目標中相應的像素輸出像素

            ConvolveOp cOp = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);

            // 轉換像素

            bufImage = cOp.filter(bufImage, null);

            FileOutputStream out = new FileOutputStream(savedFile);

            JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

            JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bufImage);

            // 設置壓縮質量

            param.setQuality(quality, true);

            encoder.encode(bufImage, param);

            out.close();

            System.out.println(newImage);

        } catch (Exception e) {

            e.printStackTrace();

            System.out.println(“壓縮失敗!” + e.getMessage());

        }

    }

如何用java實現圖片預覽功能,求代碼

使用兩種不同的方法實現圖片預覽功能

Java代碼

BODY

script language=”javascript”

function ShowImage(path){

document.all.divShow.filters.item(“DXImageTransform.Microsoft.AlphaImageLoader”).src = path;

}

function test(){

document.all.showimg.src=document.all.file1.value;

}

/script

INPUT style=”Z-INDEX: 101; LEFT: 232px; POSITION: absolute; TOP: 272px” type=”file”onchange=”ShowImage(this.value)”

div id=”divShow” style=”FILTER:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);WIDTH:274px;HEIGHT:100px”

input type=”file” id=”file1″ onchange=”test()”br/

img id=”showimg” style=”width:200px;height:200px;”

/BODY

java中多張blob圖片如何在前台預覽,要求這些圖片同時顯示,最好有代碼

//您好,提問者:

比如您後台查詢的是個List集合數組,前台接受。

    ListString list = new ArrayListString(); //import 你懂的

    list.add(“D:\\xx.jpg”);//我不是查詢數據庫,手動添加圖片地址,你也懂的

    list.add(“D:\\xx1.jpg”);

    //這個時候如果struts2的話list是public有set get的話肯定前台能拿到

    //如果不是就放到request.setAttribute(“list”,list);中

這下面是頁面代碼:

    %

        List list = request.getAttribute(“list”);

        for(int i = 0; i  list.size(); i++){%

        img src=”%=list.get(i)%”/

    %}%

flex+java實現圖片預覽

我試着理解一下你的想法:

感覺你是想在圖片預覽的時候,需要用很小的帶寬,將圖片顯示出來,而不是真正的在這個時候將真正的圖片讀取出來。

所以,建議,在預覽的,你的source需要使用請求後台,將圖片壓縮,然後將壓縮之後,文件體積相對較小的流打回前端顯示。

不知道能否解決你的問題。

PS:只要在瀏覽器中顯示任何的東西,都是需要通過http的協議放入到本地的緩存目錄中的,不存在真正的遠程顯示。

用java寫上傳圖片時,怎麼實現預覽功能?

圖片上傳後在網頁上直接讀取上傳後的地址進行預覽,就是說這個時候圖片已經上傳到服務器了,如果要寫的嚴謹一些,可以在預覽後進行保存操作,如果不保存,則再寫一條語句把上傳上去的文件刪除

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/158401.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-19 00:41
下一篇 2024-11-19 00:41

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • 用Python繪製酷炫圖片

    在本篇文章中,我們將展示如何使用Python繪製酷炫的圖片。 一、安裝Python繪圖庫 在使用Python繪製圖片之前,我們需要先安裝Python繪圖庫。Python有很多繪圖庫…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論