導航:首頁 > 編程語言 > java圖片比較

java圖片比較

發布時間:2022-09-20 07:48:21

java上傳圖片 生成縮略圖,如果上傳的圖片尺寸比較小就壓縮處理

//將圖按比例縮小。
public static BufferedImage resize(BufferedImage source, int targetW, int targetH) {
// targetW,targetH分別表示目標長和寬
int type = source.getType();
BufferedImage target = null;
double sx = (double) targetW / source.getWidth();
double sy = (double) targetH / source.getHeight();
//這里想實現在targetW,targetH范圍內實現等比縮放。如果不需要等比縮放
//則將下面的if else語句注釋即可
if(sx>sy)
{
sx = sy;
targetW = (int)(sx * source.getWidth());
}else{
sy = sx;
targetH = (int)(sy * source.getHeight());
}
if (type == BufferedImage.TYPE_CUSTOM) { //handmade
ColorModel cm = source.getColorModel();
WritableRaster raster = cm.(targetW, targetH);
boolean alphaPremultiplied = cm.isAlphaPremultiplied();
target = new BufferedImage(cm, raster, alphaPremultiplied, null);
} else
target = new BufferedImage(targetW, targetH, type);
Graphics2D g = target.createGraphics();
//smoother than exlax:
g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY );
g.drawRenderedImage(source, AffineTransform.getScaleInstance(sx, sy));
g.dispose();
return target;
}

public static void saveImageAsJpg (String fromFileStr,String saveToFileStr,int width,int hight)
throws Exception {
BufferedImage srcImage;
// String ex = fromFileStr.substring(fromFileStr.indexOf("."),fromFileStr.length());
String imgType = "JPEG";
if (fromFileStr.toLowerCase().endsWith(".png")) {
imgType = "PNG";
}
// System.out.println(ex);
File saveFile=new File(saveToFileStr);
File fromFile=new File(fromFileStr);
srcImage = ImageIO.read(fromFile);
if(width > 0 || hight > 0)
{
srcImage = resize(srcImage, width, hight);
}
ImageIO.write(srcImage, imgType, saveFile);

}

public static void main (String argv[]) {
try{
//參數1(from),參數2(to),參數3(寬),參數4(高)
saveImageAsJpg("C:\\Documents and Settings\\xugang\\桌面\\tmr-06.jpg",
"C:\\Documents and Settings\\xugang\\桌面\\2.jpg",
120,120);
} catch(Exception e){
e.printStackTrace();
}

}

❷ 用java程序 比較圖片

二樓也太誇張了點,應該是老師出的題目吧? 兩張圖片大小一致吧? 你用下面的簡單方法即可:

按坐標比較RBG值,相同的話 Right+=1; 不同剛 Wrong+=1;
最後判斷Right/(總點數),如果大於80%,給出結論相同,否則不同.

❸ java 圖片上傳,圖片上傳是上傳到哪裡比較好伺服器上還是資料庫

上傳到伺服器上會比較好,資料庫可以記錄一些必要的信息,比如文件的名稱,類型(擴展名),大小,創建時間及誰的文件等等;如果把文件放入資料庫,讀寫性能不如文件系統,還會加大資料庫的壓力。放到伺服器上注意要設計好一個文件結構,不然以後一個文件夾里有成千上萬個文件,打開那個文件夾就要好久,更不用說查找和下載了。

❹ java中如何判斷imageicon中的兩張圖片相等。

ImageIcon類裡面本身沒有提供圖片比較的方法
如果樓主是想比較ImageIcon的來源是不是一樣
最好是自己程序裡面記錄下來圖片的Url或者文件地址
根據自己保存的來源來判斷一不一樣
如果是想判斷兩張來源不同的圖片是不是相等
那就得用到圖像判斷了
可以從ImageIcon中把圖片去出來用getImage()獲得到Image對象
把Image對象轉成BufferedImage對象
然後比較每個像素點的顏色
有不一樣的就說明不是一張圖片了
都很復雜
樓主能不能說下想要做的是什麼

❺ 頁面圖片載入速度比較慢,有什麼優化的方法嗎,請提供下,最好是java的 是否可以用緩存框架

跟緩存什麼的沒關系。
跟圖片大小,網速、帶寬 有關

圖片不能太大,一般網站都會對上傳的 圖片進行縮略,壓縮處理

一般都會把圖片處理成三或四 種規格:縮略圖,中圖,大圖,原圖
不要把原圖直接放在頁面上,根據需求盡量用最小的圖。 這樣頁面載入就會很快。

不要用TOMCAT壓縮圖片,會很占伺服器資源的。而且大部分圖片都是已經壓縮過的只是像素太高,實際頁面顯示的時候根本不需要太高的像素,主要是要對圖片像素大小進行處理。
怎麼實現你可以搜一下java 圖片處理 圖片縮略

❻ 如何用JAVA對比兩張圖片的內容是否一樣。

如果杯子在照片里的大小不同也不好比較,所以很難實現到實際應用當中

❼ java 對比圖片相似度的演算法。。說說想法也行

每張圖分成四塊,將每部分的圖片混成一種純色,對比這四個純色可以篩掉大部分的圖片

❽ java 圖片里冒泡排序解析中,為什麼是比較3次

思考一下,A B兩個,A>B,如果在冒泡排序中,將B移動到A,需要做的操作是:
使用中間變數記錄A、將B賦給A、將中間變數賦給B
這樣算起來就是3次。

閱讀全文

與java圖片比較相關的資料

熱點內容
壓縮因子定義 瀏覽:964
cd命令進不了c盤怎麼辦 瀏覽:212
葯業公司招程序員嗎 瀏覽:972
毛選pdf 瀏覽:657
linuxexecl函數 瀏覽:725
程序員異地戀結果 瀏覽:372
剖切的命令 瀏覽:226
干什麼可以賺錢開我的世界伺服器 瀏覽:288
php備案號 瀏覽:988
php視頻水印 瀏覽:166
怎麼追程序員的女生 瀏覽:487
空調外壓縮機電容 瀏覽:79
怎麼將安卓變成win 瀏覽:459
手機文件管理在哪兒新建文件夾 瀏覽:724
加密ts視頻怎麼合並 瀏覽:775
php如何寫app介面 瀏覽:804
宇宙的琴弦pdf 瀏覽:396
js項目提成計算器程序員 瀏覽:944
pdf光子 瀏覽:834
自拍軟體文件夾名稱大全 瀏覽:328