0
A
回答
0
你可以在代碼中做到這一點,如果圖像被調整了,看起來不正確,或者你只是想更多地控制旋轉發生的事情。
首先獲得設備的寬度和高度:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
然後你就可以使用這些信息來調整圖像大小。
您可以設置o.inJustDecodeBounds = true以在不加載圖像的情況下獲取圖像大小。如果圖像很大,您可以調整它的大小。下面的示例代碼。
private Bitmap getBitmap(String path) {
Uri uri = getImageUri(path);
InputStream in = null;
try {
final int IMAGE_MAX_SIZE = 1200000; // 1.2MP
in = mContentResolver.openInputStream(uri);
// Decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
BitmapFactory.decodeStream(in, null, o);
in.close();
int scale = 1;
while ((o.outWidth * o.outHeight) * (1/Math.pow(scale, 2)) >
IMAGE_MAX_SIZE) {
scale++;
}
Log.d(TAG, "scale = " + scale + ", orig-width: " + o.outWidth + ",
orig-height: " + o.outHeight);
Bitmap b = null;
in = mContentResolver.openInputStream(uri);
if (scale > 1) {
scale--;
// scale to max possible inSampleSize that still yields an image
// larger than target
o = new BitmapFactory.Options();
o.inSampleSize = scale;
b = BitmapFactory.decodeStream(in, null, o);
// resize to desired dimensions
int height = b.getHeight();
int width = b.getWidth();
Log.d(TAG, "1th scale operation dimenions - width: " + width + ",
height: " + height);
double y = Math.sqrt(IMAGE_MAX_SIZE
/(((double) width)/height));
double x = (y/height) * width;
Bitmap scaledBitmap = Bitmap.createScaledBitmap(b, (int) x,
(int) y, true);
b.recycle();
b = scaledBitmap;
System.gc();
} else {
b = BitmapFactory.decodeStream(in);
}
in.close();
Log.d(TAG, "bitmap size - width: " +b.getWidth() + ", height: " +
b.getHeight());
return b;
} catch (IOException e) {
Log.e(TAG, e.getMessage(),e);
return null;
}
相關問題
- 1. 縮放和旋轉imageview
- 2. ImageView的移動縮放時/旋轉
- 3. 在ScrollView中旋轉縮放ImageView?
- 4. Android imageView放大,縮小和旋轉
- 5. android ImageView自動縮放
- 6. 旋轉和自動縮放圖片
- 7. 自動縮放和旋轉圖像
- 8. 移動,縮放和旋轉ImageView的OnTouch不工作
- 9. 使用ImageView旋轉Android活動將ImageView縮小爲1px
- 10. css動畫縮放並同時旋轉
- 11. 拖動,縮放和旋轉多個UIImageviews
- 12. 用縮放旋轉動畫圖片
- 13. iPhone「移動和縮放」...並旋轉?
- 14. @keyframes動畫(旋轉)和:懸停(縮放)
- 15. 縮放,旋轉和拖動UIImageView
- 16. CSS3 - 動畫縮放/旋轉懸停
- 17. 縮放或旋轉移動瀏覽器
- 18. 用動畫旋轉和縮放UIImageView
- 19. 縮放,旋轉與UIGestureRecognizer同時移動
- 20. 捏縮放和2個手指旋轉Android中的ImageView
- 21. Android ImageView縮放,旋轉,位置變化概率
- 22. 旋轉ImageView的動畫
- 23. CGAffineTransform縮放和旋轉
- 24. MKMapView旋轉iOS6縮放
- 25. 旋轉和縮放腳本
- 26. UIScrollView旋轉後縮放
- 27. 旋轉元素的縮放
- 28. 旋轉UIImageView,然後縮放
- 29. 縮放和旋轉UIImageView
- 30. Starling,hitTest:旋轉和縮放
集imageview的寬度參數match_parent和scaleType到fitXY –
它伸展我的形象 – user1619306
如果你的規模型行不通的,因爲你要保持縱橫比,看看此http://開發商.android.com/reference/android/widget/ImageView.ScaleType.html如果這也不起作用,你將不得不自己做一些縮放;) –