我已將預分頻位圖設置爲ImageView的源。然後我讀了ImageView
的Matrix,並通過matrix.postTranslate(shiftX, shiftY)
轉換ImageView的位圖。在保持中心點在同一位置的同時縮放ImageView的圖像
現在我想放大/縮小圖像,同時保持ImageView
的中心位於比例縮放之前的位圖的同一點。
如果我嘗試放大matrix.postScale(zoom, zoom)
的圖像,請指出我想保持(藍點)轉移到其他位置(紫點)。
我已經嘗試了幾種不同的方法來移回位圖,但我不能讓它正常工作。我知道初始位圖大小,ImageView大小,用虛線標記的距離。試圖計算所需的班次,然後使用matrix.postTranslate(-zoomshiftX, -zoomshiftY)
,但它沒有正確移動。
甚至發現,基礎位圖的像素數在matrix.postScale()函數後並沒有改變,並嘗試了matrix.postTranslate(-zoomshiftX/zoom,-zoomshiftY/zoom) - 但仍然沒有運氣。
如何實現這種縮放?
I h通過使用4個參數matrix.postScale()併爲最後兩個參數輸入View_width/2和View_height/2之類的東西,實現了居中放大。沒有意識到這些最後兩個參數可能引用視圖的像素,而不是位圖 – wilkas