當前位置:首頁 » 安卓系統 » android圖片解析度

android圖片解析度

發布時間: 2023-06-02 07:27:08

Ⅰ Android圖片解析度應該放到哪個文件夾的問

(1)drawable-hdpi裡面存放高解析度的圖片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi裡面存放中等解析度的圖片,如HVGA (320x480)
(3)drawable-ldpi裡面存放低解析度的圖片,如QVGA (240x320)
ldpi:240x320
mdpi:320x480
hdpi:480x800、480x854
xhdpi:至少960*720
xxhdpi:1280×720

Ⅱ Android中解析度,DPI,DP與PX對應關系

解析度就是手機屏幕的像素點數。一般為屏幕的「寬×高」,例如解析度有720×1280的手機設備,表示此屏幕在寬度方向有720個像素點,在高度方向有1280個像素點。

按屏幕對角測量的實際物理尺寸。為簡便起見,Android 將所有實際屏幕尺寸分組為四種通用尺寸:小、 正常、大和超大,以英寸(inch)為單位。例如有個5寸的手機設備,是指對角線的尺寸,5寸×2.54厘米/寸=12.7厘米。

就是每英寸的像素點數,數值越高當然顯示越清晰,通常 與「正常」或「高」密度屏幕相比,「低」密度屏幕在給定物理區域的像素較少。

在定義 UI 布局時應使用的虛擬像素單位,用於以密度無關方式表示布局維度 或位置。
密度無關像素等於 160 dpi 屏幕上的一個物理像素,這是 系統為「中」密度屏幕假設的基線密度。在運行時,系統 根據使用中屏幕的實際密度按需要以透明方式處理 dp 單位的任何縮放 。dp 單位轉換為屏幕像素很簡單: px = dp * (dpi / 160)。 例如,在 240 dpi 屏幕上,1 dp 等於 1.5 物理像素。在定義應用的 UI 時應始終使用 dp 單位 ,以確保在不同密度的屏幕上正常顯示 UI。

大多數情況下,確保應用中的屏幕獨立性很簡單,只需以適當的密度獨立像素( dp 單位)或 "wrap_content" 指定所有 布局尺寸值。系統然後根據適用於當前屏幕密度的縮放比例適當地縮放點陣圖可繪制對象,以 適當的大小顯示。

如上表所示,現在我們在mdpi下設計了一個48x48的應用圖標,那麼在ldip下大小縮小0.75倍為36x36,在hdip下放大1.5倍為72x72,在xhdpi下放大2倍為96x96,在xxhdpi下放大3倍為144x144,在xxxhdpi下放大4倍為192x192.

android對於不同dpi設備提供了5個目錄存放圖片,使開發人員根據實際需要對圖片適配。一般情況需要UI根據一種DPI密度、或解析度的設備設計UI,根據不同dpi的比例出圖,一般需要xhdpi、xxhdpi兩套圖,即2x、3x圖。
計算相關公式:
px = dpValue * density + 0.5f;
dp = pxValue / density + 0.5f;

Ⅲ android如何獲取相機解析度

安卓系統在獲取相機解析度時,可以參考SDK中的API,獲取相機的參數:

Camera.Parameters parameters = camera.getParameters();

獲取預覽的各種解析度:

List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes();

獲取攝像頭支持的各種解析度:

List<Size> supportedPictureSizes = parameters.getSupportedPictureSizes();

例如:獲取照相機顫彎參數,設置需要的參數,其餘預設

Camera camera = Camera.open();

Camera.Parameters parameters = camera.getParameters();

設置照片格式:

parameters.setPictureFormat(PixelFormat.JPEG);

設置預瀏尺嫌洞含寸,注意要在攝像頭芹笑支持的范圍內選擇:

parameters.setPreviewSize(WIDTH, HEIGHT);

設置照片解析度,注意要在攝像頭支持的范圍內選擇

parameters.setPictureSize(WIDTH, HEIGHT);

設置照相機參數:

camera.setParameters(parameters);

開始拍照:

camera.startPreview();

以上就是獲取相機解析度的步驟。

Ⅳ android app界面設計規范(dpi,dp,px等)

PPI(Pixels per inch):每英寸所擁有的像素數,即像素密度。
DPI(dots per inch):即每英寸上,所能印刷的網點數,一般稱為像素密度。ppi計算公式:ppi = 屏幕對角線像素數/屏幕對角線英寸數,通過勾股定理計算屏幕對角線像素數。
Screen Size(屏幕尺寸):手機屏幕尺寸大小,如3英寸、4英寸、4.3英寸、5.7英寸,指的是對角線的長度。
DIP(device independent pixel):即dip/dp,設備獨立像素。 1px = 1dp density(由dpi決定)
Resolution(解析度):指手機屏幕垂直和水平方向上的像素個數。eg解析度480
800,指該設備垂直方向有800個像素點,水平方向有480個像素點。
px(Pixel像素):相同像素的ui,在不同解析度的設備上效果不同。在小解析度設備上會放大導致失真,大解析度上被縮小。

Android Design里把主流設備的 dpi 歸成了四個檔次: 120 dpi、160 dpi、240 dpi、320 dpi ,具體見如下表格。
實際開發當中,我們經常需要對這幾個尺寸進行相互轉換(比如先在某個解析度下完成設計,然後縮放到其他尺寸微調後輸出),一般按照 dpi 之間的比例即 2:1.5:1:0.75 來給界面中的元素來進行尺寸定義。
也就是說如果以 160 dpi 作為基準的話,只要尺寸的 DP 是 4 的公倍數,XHDPI 下乘以 2,HDPI 下乘以 1.5,LDPI 下乘以 0.75 即可滿足所有尺寸下都是整數 pixel 。但假設以 240 dpi 作為標准,那需要 DP 是 3 的公倍數,XHDPI 下乘以 1.333,MDPI 下乘以 0.666 ,LDPI 下除以 2。而以 LDPI 和 XHDPI 為基準就更復雜了。同時第一款Android設備(HTC的T-Mobile G1)是屬於160dpi的。鑒於以上各種原因, 標准dpi=160

谷歌官方對dp的解釋如下:
A virtual pixel unit that you should use when defining UI layout, to express layout dimensions or position in a density-independent way.
The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is the baseline density assumed by the system for a "medium" density screen. At runtime, the system transparently handles any scaling of the dp units, as necessary, based on the actual density of the screen in use. The conversion of dp units to screen pixels is simple: px = dp * (dpi / 160). For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels. You should always use dp units when defining your application's UI, to ensure proper display of your UI on screens with different densities.

簡單來說,以160dpi的設備為准,該設備上1dp = 1px;如果屏幕密度大,1dip代表的px就多,比如在320dpi的屏幕上,1dip=2px(即1dp代表2個像素)。在app開發時,最好用dp來做界面的布局,以保證適配不同屏幕密度的手機。

dp和px的換算公式:

我的理解,該公式表示px的數值等於dp的數值*(設備dpi/160)
注意,px、dp是單位,但density沒單位。

applyDimension的源碼如下,可參考:

android的尺寸眾多,建議使用解析度為 720x1280 的尺寸設計。這個尺寸 720x1280中顯示完美,在 1080x1920 中看起來也比較清晰;切圖後的圖片文件大小也適中,應用的內存消耗也不會過高。

app啟動圖標為48*48dp,對應各dpi設備,圖像資源像素如下:

| mdpi | hdpi | xhdpi | xxhdpi |
| ---:| ---: | ---:| ---:| ---:|
|48 48px|72 72px|94 96px|144px 144px|

操作欄圖標為32*32dp,對應各dpi設備,圖像資源像素如下:其中圖形區域尺寸是24*24dp,可參考平時ui切圖會有部分留白。

| mdpi | hdpi | xhdpi | xxhdpi |
| ---:| ---: | ---:| ---:| ---:|
|32 32px|48 48px|64 64px|96px 96px|

通知欄圖標為24*24dp,對應各dpi設備,圖標像素如下:

| mdpi | hdpi | xhdpi | xxhdpi |
| ---:| ---: | ---:| ---:| ---:|
|24 24px|36 36px|48 48px|72px 72px|

某些場景需要用到小圖標,大小應當是16*16dp,其中圖形區域尺寸12*12dp。

| mdpi | hdpi | xhdpi | xxhdpi |
| ---:| ---: | ---:| ---:| ---:|
|16 16px|24 24px|32 32px|48px 48px|

Ⅳ Android性能優化-大解析度圖片最佳實踐

好久沒更新博客了,借著908公司18周年年會這個普(期)天(待)同(紅)慶(包)的日子,來說下安卓中的圖片與內存的關系。
大家都知道安卓中圖片是佔用內存的大戶,在日常開發中也免不了用到圖片,那麼圖片佔用內存與哪些因素有關呢,先直接給結論:
1)與圖片解析度有關;
2)與開發者放的文件目錄有關;
3)與圖片大小沒有半毛錢關系。
舉個例子:
以現在主流1080p手機為例,新建一個空的工程,用一張1080*1080像素圖片來測試:

將圖片放在xxhdpi目錄下,測試內存,效果如下:

大家可以接著嘗試將圖片放到mhdpi目錄 或者xhdpi目錄下,看下內存佔用情況,上面放xxhdpi從圖上看大概佔4M左右,那麼這個值是怎麼計算來的:
放xxhpi下圖片內存佔用 = 1080 *1080 *4 /1024 / 1024 = 4.45M
稍微解釋下公式,像素長*寬*一個像素佔用的位元組數,安卓的色彩模式一個像素佔用的位元組關系如下表:

也就是說,你在布局文件里隨便定義一個imageview,載入一個1080*1080的圖片,顯示的時候,將按一像素4byte計算內存占拆配昌用。

如果你按照上面的步驟嘗試了將圖片放到mdpi目錄或者xhdpi目錄,應該知道結論了,圖片佔用內存成倍數的變大了,看下放mdpi文件夾下的效果:

如果開發者將同樣一張1080*1080像素圖片放到mdpi目錄下,圖片佔用內存=(1080*3)*(1080*3)*4 /1024 /1024 = 40M,比之前放xxdpi目錄下內存高出了9倍,所以:圖片不是亂放的,要謹慎。

現在主流手機解析度1080p以上,建議大圖統一放到xxhdpi目錄下管理。

高解析度圖片常見的導致性能缺陷的場景包括:
1)放錯圖片目錄賣基,導致佔用內存成倍數增長;
2)限定了高寬的imageview組件,載入了超過該尺寸大小的圖片;
3)單色值圖片、loading過渡圖片、對清晰度要求不高的圖片等,強上了大解析度圖片。
這些場景都是在實際開發中遇到過的問題,可能出於設計師的疏忽,可能出於程序猿的隨意,修復這些缺陷的成本很低,但是對內存降低的幫助是指數級的,投入產出比這么高的事情,只能說到這里了。
對應的修復手段很明確了:
1)建議圖片放xxhpdi目錄;
2)限定高寬的imageview,圖片最大尺寸不超過該imageview最大承載高寬;
3)簡單圖片直接下掉,或者壓縮下吧,也可以結合業務背景用背景色等替換。

如果你的項目比較小,人肉去找都可以知道哪些是大分旅扒辨率圖片,那麼檢查下使用是否正確。如果你的項目是一個大型客戶端項目,人工去找就很尷尬了,是的,我想說python大法好,來個腳本吧,無死角搞定所有大解析度圖片可能導致的性能缺陷:

Ⅵ android如何載入超大解析度圖片

因為你要求圖片不能縮放,不能降低質量,而且有7M,oom是必須的,所以你能做的只能是載入你看得見的地方,意思就是說剪裁著看,先不載入,按屏幕的解析度的1.5倍或多一些進行剪裁(這個度自己控制項),當向某一個方向滑時,檢測坐標如果快超出時,載入右邊的下一幅。
這個有點類似於游戲中的地圖貼圖,也是分塊的。

Ⅶ android 圖片大小如何設置可以自適應不同解析度

不知道你什麼情況下要讓圖片自適應不通過解析度。給你舉個例子吧,希望對你有所幫助!當你把圖片塞到imageView中時,布局注意
不要把值定死 比如:
android:layout_width="100dp"
android:layout_height="90dp"

直接給他
android:layout_width="fill_parent"
android:layout_height="wrap_content"
這樣 ,才能適應你解析度。
還有就是drawable_hdpi ,ldpi,mdpi分別代表不同解析度drawable_hdpi(800*480),ldpi(480*320),mdpi(320*240),你自己放圖片時注意了。

Ⅷ android圖標解析度是多少

應用程序圖標 (Icon)應當是一個 Alpha 通道透明的32位 PNG 圖片。

由於安卓設備眾多,一個應用程序圖標需要設計幾種不同大小,如:

LDPI (Low Density Screen,120 DPI),其圖標大小為 36 x 36 px。

MDPI (Medium Density Screen, 160 DPI),其圖標大小為 48 x 48 px。

HDPI (High Density Screen, 240 DPI),其圖標大小為 72 x 72 px。

xhdpi (Extra-high density screen, 320 DPI),其圖標大小為 96 x 96 px。

建議在設計過程中,在四周空出幾個像素點使得設計的圖標與其他圖標在視覺上一致,例如:

96 x 96 px 圖標可以畫圖區域大小可以設為 88 x 88 px, 四周留出4個像素用於填充(無底色)。

72 x 72 px 圖標可以畫圖區域大小可以設為 68 x 68 px, 四周留出2個像素用於填充(無底色)。

48 x 48 px 圖標可以畫圖區域大小可以設為 46 x 46 px, 四周留出1個像素用於填充(無底色)。

36 x 36 px 圖標可以畫圖區域大小可以設為 34 x 34 px, 四周留出1個像素用於填充(無底色)。

熱點內容
Ftp打開文件是只讀模式 發布:2025-02-09 07:40:55 瀏覽:504
androidlistview點擊事件 發布:2025-02-09 07:25:52 瀏覽:171
targz解壓縮 發布:2025-02-09 06:59:19 瀏覽:311
wpsphp 發布:2025-02-09 06:58:41 瀏覽:961
視易鋒雲系統如何架設輔助伺服器 發布:2025-02-09 06:47:08 瀏覽:770
mysql備份腳本shell 發布:2025-02-09 06:46:33 瀏覽:15
騰訊雲伺服器怎樣調整解析度 發布:2025-02-09 06:46:30 瀏覽:369
php上一個頁面 發布:2025-02-09 06:41:25 瀏覽:489
改裝配置後不想重啟怎麼辦 發布:2025-02-09 06:36:40 瀏覽:446
演算法復雜度定義 發布:2025-02-09 06:30:46 瀏覽:587