[英]Photos loaded onto canvas taken from a camera in portrait mode are landscape
[英]Photos taken in portrait are being saved in landscape
我一直在嘗試使用Android ACTION_IMAGE_CAPTURE
意向和ACTION_GET_CONTENT
意向拍攝照片或選擇照片。 我遇到的問題是,當我嘗試使用人像模式下的Android照片意圖拍攝照片時,它將以橫向保存。
我正在嘗試從URI字符串中保存正確定位的照片的Bitmap
。
我發現了這個問題: 拍攝人像時Android相機意圖保存圖像風景 ,這與我遇到的問題完全相同,但是答案不完整,對我不起作用。 例如,什么是resizedBitmap
, opts
以及file
Uri.getPath()
?
好吧,有些相機將風景模式鎖定為默認相機模式(三星注釋2),因此,如果您在縱向模式下拍攝照片,圖像仍會保存為風景模式。 大多數相機都會將元數據添加到圖像中,例如相機供應商,型號等。 可以呈現的各種元數據中有一個是旋轉數據。 它指定圖像旋轉的角度。 要了解旋轉情況,可以使用ExifInterface類。
resizedBitmap圖像在Android中存儲為位圖對象。 由於圖像可能很大,因此將它們全部加載到內存中可能會導致內存不足錯誤,並使您的應用程序占用更多內存。 因此,首先將位圖調整為適當的大小,然后再加載到內存中。
opts通過opts必須引用BitmapFactory.Options方法。 這是一個提供更改位圖行為的方法的類,例如使其可變(設置為true,可以將灰度等效果應用於此位圖),以像素為單位查找其高度和寬度而無需將其加載到RAM等。
文件它是用於在系統中存儲的任何文件中執行CRUD操作的類。
Uri.getPath()此方法返回存儲圖像的路徑或為null。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.