簡體   English   中英

捏問題縮放肖像照片上的PhotoView和TouchImageView的android問題

[英]android problems with pinch to zoom libraries PhotoView and TouchImageView on portrait images

我想顯示圖像並允許捏縮放。 我的應用程序是一個空白活動,具有線性布局和頂部的ImageView,在其下方是帶有一些按鈕的水平線性布局。 我已經嘗試了PhotoViewTouchImageView,它們都有類似的問題:

  1. 右側的工具欄菜單對觸摸沒有響應(在4.4.4和4.4.2中)。 它似乎在5.0.2中響應。
  2. 以人像模式拍攝的照片無法正確顯示或縮放:它們僅使用ImageView的一部分。

我查看了TouchImageView的代碼,並認為我可以看到問題2的答案:例程從代碼中獲取寬度和高度,例如:

float w = getDrawable().getIntrinsicWidth();

要在我的應用中正確顯示人像模式照片,我需要這樣做

imageRotation = getOrientation(photoFilePath);
imgView.setRotation(imageRotation);

這將旋轉照片進行顯示,但是nativeWidth和nativeHeight不會更改。 因此縮放軟件的尺寸錯誤。 奇怪的是,這之前沒有被發現。 (也許這是我的錯。)如果我是對的,那么我需要更改代碼,以便測試imgView.ROTATION屬性。

編輯:我可以檢測旋轉,然后在縱向模式圖像中切換高度和寬度。 這有一點幫助,但還不夠。 imageview中仍然有未使用的空白空間。 需要做更多的工作,這超出了我的能力。

謝謝你的幫助。

我花了一段時間才弄清楚這一點。 我的問題是如何旋轉人像圖像以使其在屏幕上正確定向。 我用了

        imgView.setRotation((float)imageRotation);

造成了問題! 以這種方式進行操作(即不使用imageView功能)

    Matrix matrix = new Matrix();
    matrix.postRotate(imageRotation);
    bmp = Bitmap.createBitmap(bmp , 0, 0, bmp .getWidth(), bmp.getHeight(), matrix, true);

工作了。

暫無
暫無

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

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