簡體   English   中英

小尺寸,高分辨率圖像

[英]Small Size , High Resolution Images

我創建應用程序稱為它(應用程序A),需要在res drawable文件夾中存儲大量的高分辨率圖像,(我知道我可以遠程下載,但我需要將它保存在drawable res文件夾中),它:

3000 x 4000數碼相機拍攝的JPEG圖像 ,因為這將導致不可接受的增加應用程序大小並導致在設備上運行時出現內存異常,因此我們可以創建另一個名為
(應用程序B),僅用於調整圖像大小,這將選擇將存儲在SD上的圖像 (僅用於調整大小),然后將其調整為較小尺寸的圖像,但不會丟失圖像質量並保持高圖像分辨率 ,然后保存再次使用PNG或JPEG格式的SD ,然后我可以從SD卡獲取圖像然后將其保存到(app A)資源文件並使用它,具有合理的大小和高分辨率,

希望任何人都可以提供教程鏈接解釋或應用此代碼完整代碼答案

注意:我嘗試使用計算機軟件:photoshop或格式工廠,但都會影響分辨率。

您的幫助將受到高度贊賞和感謝。

使用圖像平鋪可以最好地解決這個問題。 你將你的圖像分成許多較小的“瓷磚”,比如500x500px,然后將它們放在網格上 - 選擇你喜歡的布局。 對於渲染放大,僅繪制屏幕上的那些圖塊。

以下是更多詳細信息的參考: 如何在android中平鋪和滾動大圖像(10000x10000)

要分割圖像,請按照此處的說明操作: Android - Split Drawable

對於非常平滑的行為,您還可以從原始圖像創建縮小的圖像,並在網格縮小時使用縮小尺寸的圖塊。 當用戶放大時切換回原始分辨率。

編輯

我的目標是擁有3000 * 4000分辨率的大圖片,我想將其轉換為更小的尺寸,但保持相同的分辨率

要記住一些概念:

  1. 圖片的原始分辨率(在你的情況下為3000x4000像素)
  2. 顯示器的分辨率。 例如,Nexus 4的顯示屏為768x1,280像素。 顯示器具有重要屬性:DPI或每英寸點數。 這是在物理屏幕上一起測量1英寸(25.4毫米)的像素數。 蘋果iPhone上的“視網膜”顯示器的DPI為326 - 這是銳度的基准; 此屏幕上的像素太小,人眼無法在典型的保持距離下單獨/清晰地看到。 舊單調LCD顯示器的DPI在30-60范圍內 - 您可以輕松看到單個像素的方形。
  3. 要在顯示屏上顯示的圖片部分 - 視口 有兩種不同的極端:

    1. 縮小 :您需要顯示屏上顯示的完整圖片。 在您的情況下,圖片的像素比顯示器多(顯示器的物理限制是沒有足夠的像素以原始分辨率顯示原始圖片),因此顯示器上的一個像素將呈現一組像素圖片,平均顏色和亮度,或
    2. 自然分辨率 :自然分辨率是指原始圖像中的一個像素恰好顯示在屏幕上的一個像素上。 在你的情況下,你只能看到大約四分之一的圖像。 這種縮放具有最大的清晰度 ,但是圖像的一些細節可能太小而無法看到,因為眼睛實際上看不到單獨的顯示像素。
    3. 放大 :您希望在顯示屏上顯示圖像的更小部分,其中圖像中的原始像素實際上大於顯示。 這里,圖片中的一個像素將顯示在顯示器上的幾個或多個像素上。

現在,Android圖像庫將有所幫助。 當您在顯示器上渲染圖像時,庫將縮放圖片以“適合”顯示器上的像素 - 您的實際圖片將保持不變。

我希望借助這種新語言,您可以看到基本約束,因此可以決定如何繼續。

使用BitmapFactory.Options.inSampleSize讀取子采樣位圖。

BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inSampleSize = 2;
Bitmap bitmap = BitmapFactory.decodeFile(pathName, opts);

並使用Bitmap.compress()將位圖保存到SD卡。

編輯:如果你仍然想保持分辨率,你可以嘗試設置BitmapFactory.Options.inPreferredConfig = Bitmap.Config.RGB_565; 為了解碼位圖,這可以減少一半的內存成本,因為大多數默認配置是RGB_8888。

基本上有3種方法可以減小圖像的大小:

  • 減少它的大小和/或質量(例如通過減少像素數量或每個像素的大小) - Jpeg做了與此非常相似的事情。
  • 壓縮文件 - 這是GIF和PNG的作用。
  • 使用矢量圖形。

由於您正在討論進一步壓縮數碼相機jpeg圖像,因此您無法在不降低質量的情況下進一步降低圖像本身(JPEG已經降低了質量並壓縮文件,這就是為什么它是最常用的類型網絡)。 任何在不進一步降低質量的情況下壓縮文件的嘗試都不會給你太多的理由(盡管你可以嘗試幾種不同的壓縮方案,並且你很難有機會獲得正確的方案來獲得一些實質性的減少)。

從理論上講,如果您可以將所有圖像一起添加到單個圖像中,並將其壓縮為單個圖像,則可能會獲得一些基礎,但在討論此類尺寸時,您不可能再處理此類圖像。一個巨大的文件。

正如你所說,你已經嘗試過photoshop並獲得有關分辨率的不可接受的結果,

僅在Photoshop CS和CS2中找到了簡單的技巧

When you want to reduce an image go to the Image> Image Size menu. Click on 
Resample Image and choose Bicubic Sharper from the drop-down menu. This is the 
best setting for making sure that an image doesn't blur. The example photo of the
flower started at 2,000 pixels across. I stepped it down to 250, and then again 
to 125 with almost no loss of sharpness. 

要記住的另一件事

when resizing is to try to do it only once on an image.
Many people will resize repeatedly as they search for the perfect fit for 
a design element, and then end up with an image with a lot of blur. It's always
better to experiment on a duplicate of the image. Then, when you've settled on 
the final dimensions, you can go back to the original and resize it just once.

我已經嘗試過我的自我,並獲得了很好的小尺寸圖像分辨率。

改編自以下鏈接: http//www.photoshopsupport.com/tutorials/jennifer/bicubic.html

希望有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM