簡體   English   中英

放大圖像的最佳方法Android

[英]The best way to enlarge images Android

假設我們有一個尺寸為100x100的顯示器,一個圖像為100x50,我想放大該圖像,以使其具有與屏幕相同的高度。 因此,圖像將為200x100。 之后,我要使圖像移動的動畫向左和向右移動。 我發現了兩種實現任務的方式:

  1. 使用Bitmap.createScaledBitmap()創建新圖像。 但是以這種方式創建的映像將占用兩倍的RAM。
  2. 在每個onDraw()使用matrix.setScale() onDraw() 但這工作非常緩慢。 還有其他更好的解決方案嗎?

第二種方法很慢,因為您要在每一幀上計算“矩陣”! 由於矩陣總是相同的,並且不會改變,因此您可以預先計算矩陣並將其保存為類中的“字段”,然后只需使用此函數在屏幕上繪制即可:

canvas.drawBitmap(Bitmap bitmap, Matrix matrix, Paint paint)

它應該足夠快。 另一種選擇是使用:

canvas.drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint)

同樣,嘗試盡可能多地預先計算內容。 在這種情況下,請預先計算src和dst矩形。

暫無
暫無

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

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