1. 程式人生 > >圖片極致壓縮,不失真

圖片極致壓縮,不失真

在各種專案中,都難免遇到圖片的上傳和下載,然而,圖片的上傳,需要壓縮後再上傳才是明智之舉;然後,壓縮圖片可能會導致圖片的失真等等問題,在這裡,我將在工作中使用的比較好的圖片壓縮方法,分享給大家。

public static Bitmap revitionImage(String path) throws IOException {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(
new File(path)));
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(in, null, options);
int height = options.outHeight;
int width = options.outWidth;
int inSampleSize = 1;
int reqHeight = 800;
int reqWidth = 480;
if (height > reqHeight || width > reqHeight) {
final int heightRatio = Math.round((float) height / (float) reqHeight);
final int widthRatio = Math.round((float) width / (float) reqWidth);
inSampleSize = heightRatio < widthRatio ? heightRatio : widthRatio;
}
options.inJustDecodeBounds = false;
options.inSampleSize = inSampleSize;
Bitmap bitmap = BitmapFactory.decodeFile(path, options);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 80, baos);
byte[] b = baos.toByteArray();
Bitmap result = BitmapFactory.decodeByteArray(b, 0, b.length);
if (baos != null)
baos.close();
if (in != null)
in.close();
return result;
}

相關推薦

圖片極致壓縮失真

在各種專案中,都難免遇到圖片的上傳和下載,然而,圖片的上傳,需要壓縮後再上傳才是明智之舉;然後,壓縮圖片可能會導致圖片的失真等等問題,在這裡,我將在工作中使用的比較好的圖片壓縮方法,分享給大家。 public static Bitmap revition

圖片質量壓縮尺寸需要用到磁碟

專案遇到一個很刁鑽的問題,系統有個上傳圖片的功能,但是為了節省頻寬,必須限制使用者輸入圖片的大小,為了使用者的體驗,使用者上傳任意一張圖片都要被允許,並且不能使用磁碟。這個刁鑽的問題解決方法只有在使用者上傳圖片的時候,如果圖片大小超過一定的時候就自行質量壓縮,尺寸維持不變,

上傳壓縮後的圖片並且保持100k失真的方法

壓縮100k圖片不失真的方法;先獲取圖片的原始長度和寬度;然後計算圖片的縮放值;最後等比例壓縮; 下面程式碼是壓縮的工具類; public class PictureUtil { /** * 主方法 * * @param filePath * @r

Java 圖片進行壓縮要求小於30K使用Thumbnails進行壓縮

public static String resizeImageTo30K(String base64Img) { try { BufferedImage src = base64String2BufferedImage(base64Img);

JPG圖片壓縮成PNG圖片怎麼壓縮壓縮的方法

JPG圖片怎麼壓縮成PNG圖片呢?很多人都知道同等大小的情況下,PNG圖片會比JPG圖片清晰,想要將JPG圖片壓縮成PNG圖片需要怎麼樣的操作方法呢?大家一起來看吧。 1:首先需要將自己的JPG圖片準備好,放置在指定的資料夾中,資料夾放置在可以隨時找到的位置。 2:在

PHP合成圖片、生成文字、居中對齊、畫線、矩形、三角形、多邊形、圖片抗鋸齒、失真 高效能原始碼示例

function generateImg($source, $text1, $text2, $text3, $font = './msyhbd.ttf') { $date = '' . date ( 'Ymd' ) . '/'; $img = $date . md5 ( $source

圖片如何壓縮才能損失質量

需要 img 是我 eight https docs height 分享 清晰度 如果你是設計師、開發人員、辦公人群,總會遇到需要圖片壓縮的場景 一般來說,圖片壓縮率越高,圖片越不清晰 但是我們如何才能在清晰度、壓縮率中間找一個平衡點呢? 推薦你試一下這款 圖片壓縮工

每三秒圖片自動切換是輪播

此方法切換的只是圖片用的是簡單的handler,並不是自動輪播圖片 佈局: <ImageView android:id="@+id/faxian_img" android:layout_width="match_parent" android:layout_he

圖片壓縮演算法保證圖片失真

在各種專案中,都難免遇到圖片的上傳和下載,然而,圖片的上傳,需要壓縮後再上傳才是明智之舉;然後,壓縮圖片可能會導致圖片的失真等等問題,在這裡,我將在工作中使用的比較好的圖片壓縮方法,分享給大家。

圖片放大失真PhotoZoom Pro 7中文破解版附帶註冊啟用碼

1、PhotoZoom Pro 7 介紹: BenVista PhotoZoom Pro 7是一款新穎的、技術上具有革命性的對數碼圖片進行放大的工具。 通常的工具對數碼圖片進行放大時,總會降低圖片的品質,而這款軟體使用了S-SPLINE技術(一種申請過專利的,擁有自動調節、進階的插值演算法的技術),可以

圖片壓縮圖片隨瀏覽器兩端同時縮排

問題描述:圖片隨瀏覽器兩端同時縮排 <div class="img-container"> <img src="../img/background_1.

iOS 通過Assets設定啟動圖片 以及icon處理工具Prepo(圖片放大縮小失真自動生成@[email p

1.在Assets裡面新增LaunchImage,設定如圖就可以了2.刪掉info下的Launch screen interface file base name3.Launch Images Source選一下1步驟裡面新增的LaunchImage4.準備四張圖片放到1圖對

PHP 圖片 保持高寬壓縮之後imagejpeg($source,$file,100) 仍舊失真

圖片品質前後對比 : var_dump(exif_read_data($img));檢視 ,嚴重失真壓縮比為 50%。 壓縮前: array (size=18) 'FileName' =>

js h5 上傳圖片 轉成base64 進行圖片壓縮 失真

<!doctype html> <html> <head> <meta charset="UTF-8"> <meta name="vie

java壓縮圖片記憶體大小改變解析度大小第一種方式

/*** @Title: compressPicByQuality * @Description: 壓縮圖片,通過壓縮圖片質量,保持原圖大小* @param  quality:0-1* @return byte[] * @throws*/public static byte

Android壓縮圖片到100K以下並保持失真的高效方法

 在開發Android企業應用時,會經常上傳圖片到伺服器,而我們公司目前維護的一個專案便是如此。該專案是通過私有apn與伺服器進行互動的,聯通的還好,但移動的速度實在太慢,客戶在使用軟體的過程中,由於上傳的資訊中可能包含多張圖片,會經常出現上傳圖片失敗的問題,為了解決這個

Java壓縮圖片util,可等比例寬高失真壓縮,也可直接指定壓縮後的寬高

package com.yipai.util; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileNot

PS壓縮圖片檔案大小,失真!!!

我們用PS開啟需要壓縮的jpg圖片。然後:檔案——儲存為Web所用格式 右上角選擇JPG格式 然後在旁邊有個很小的 下拉按鈕 選擇 優化檔案大小 設定需要的檔案大小(小技巧:假如你需要10KB以內建議設定9KB  假如需要100KB以內 建議設定9

使用PHP實現生成固定大小圖片縮圖功能(智慧裁剪圖片失真

<?php //影象處理類 class Image { private $file; //圖片地址 private $width; //圖片長度 private $height; //圖片長度 private $type; //圖片型別

筆記:Android失真壓縮圖片

        String imagePath = getIntent().getStringExtra("bitmap_uri");         Display dis = getWindowManager().getDefaultDisplay();