㈠ android中有方法可以對圖片進行縮放嗎(不是縮放畫布,是真的改變了原來圖片的大小)
scaleType:CENTER /center 在視圖中心顯示圖片,並且不縮放圖片CENTER_CROP / centerCrop 按比例縮放圖片,使得圖片長 (寬)的大於等於視圖的相應維度CENTER_INSIDE / centerInside 按比例縮放圖片,使得圖片長 (寬)的小於等於視圖的相應維度FIT_CENTER / fitCenter 按比例縮放圖片到視圖的最小邊,居中顯示FIT_END / fitEnd 按比例縮放圖片到視圖的最小邊,顯示在視圖的下部分位置FIT_START / fitStart 把圖片按比例擴大/縮小到視圖的最小邊,顯示在視圖的上部分位置FIT_XY / fitXY 把圖片不按比例縮放到視圖的大小顯示MATRIX / matrix 用矩陣來繪制 到安卓巴士網站查看回答詳情>>
㈡ android等比例縮放圖片的方法
itmap icon = null;//原始圖片
int width = icon.getWidth(), height = icon.getHeight();
float scaleRate = 0.8f;//縮小的比例
while(width >= 300 || width >= 300) {
Matrix matrix = new Matrix();
matrix.postScale(width * scaleRate, height * scaleRate);
// 得到新的圖片
Bitmap newIcon = Bitmap.createBitmap(icon, 0, 0, width, height, matrix, true);
icon.recycle();
icon = newIcon;
width = icon.getWidth(), height = icon.getHeight();
}int width = icon.getWidth(), height = icon.getHeight();
if(width > 300 || width > 300) {
float scaleRate = width > height ? 300 / width : 300 / height;
Matrix matrix = new Matrix();
matrix.postScale(width * scaleRate, height * scaleRate);
// 得到新的圖片
Bitmap newIcon = Bitmap.createBitmap(icon, 0, 0, width, height, matrix, true);
icon.recycle();
icon = newIcon;
}
㈢ android畫一張圖片,縮放顯示並且放大不失真
這個問題涉及圖片呈現的一整套方案。歸納而言這個問題是:給定任意尺寸的圖片如何在任意尺寸解析度的機器上顯示?並且能夠保持圖片原來的清晰度。一般採用如下方案來解決這個問題:
1、首先給原圖片創建一塊內存緩存副本。如果不創建緩存的話,那麼任何一次圖片的剪切、縮放等操作都將丟失圖片信息,使得保持原有圖片的滋味那是不可能的。當然對於一般的程序而言,這個操作只需要調用簡單的API即可完成。例如Android,只需要創建一個對應圖片的Bitmap對象即可。
2、如果想要在設備顯示的初始化狀態圖片即為滿屏,那麼必須調用相關API動態獲得設備的解析度。然後按設備解析度的大小對圖片進行剪切並顯示到設備上。
注意:在獲得圖片解析度後,如果解析度大於圖片,那不用說,直接顯示圖片就好。但是如果小於圖片,此時有多種選擇。可以將圖片縮放至屏幕解析度(圖片縱橫比可能失真)也可以選擇剪切圖片的一部分顯示到屏幕上。
3、對圖片進行縮放或者移動
我們在圖片第一次顯示的時候無論是選擇縮放還是剪切,都要記錄下圖片被縮放的比例或者剪輯的范圍。這樣在用戶再次移動或者縮放的時候,根據之前的縮放比例和移動坐標,計算當前應該移動的位置和縮放比例。並且根據計算結果對緩存的圖片進行剪輯並顯示到屏幕上。
其實整個過程可以概括為如下流程:
——>圖片的初始縮放比例和顯示起點坐標——>用戶觸發縮放或者移動操作——>計算新的圖片縮放比例和顯示起點坐標——>根據新的縮放比例和顯示起點坐標剪輯緩存圖片並繪制到屏幕上......
㈣ android 更改圖片的大小,比方說原圖片是1800*2400px,現在我需要給定寬度為600px,等比例縮小
ThumbnailUtils.extractThumbnail(source, width, height)
㈤ android 中如何原比例的顯示圖片,無縮放顯示
這裡面的參數你都試一下,應該有一個可以。 ImageView的ScaleType屬性 ImageView的屬性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)屬性如下:CENTER /center 按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則截 取圖片的居中部分顯示 CENTER_CROP / centerCrop 按比例擴大圖片的size居中顯示,使得圖片長 (寬)等於或大於View的長(寬) CENTER_INSIDE / centerInside 將圖片的內容完整居中顯示,通過按比例縮小 或原來的size使得圖片長/寬等於或小於View的長/寬 FIT_CENTER / fitCenter 把圖片按比例擴大/縮小到View的寬度,居中顯示 FIT_END / fitEnd 把 圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置 FIT_START / fitStart 把 圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置 FIT_XY / fitXY 把圖片 不按比例 擴大/縮小到View的大小顯示
㈥ Android畫板怎麼在畫布放大的同時不改變畫筆大小
三種方法:
第一種:把用ps打開圖片然後選擇菜單-圖像(I)裡面的畫布大小
彈出裁切面板後如上圖所示點擊確定即可將畫布變成和圖片一樣大小
㈦ android gallery如何設置圖片按比例縮小
private
void
small()
{
int
bmpWidth=bmp.getWidth();
int
bmpHeight=bmp.getHeight();
Log.i(TAG,
"bmpWidth
=
"
+
bmpWidth
+
",
bmpHeight
=
"
+
bmpHeight);
/*
設置圖片縮小的比例
*/
double
scale=0.8;
/*
計算出這次要縮小的比例
*/
scaleWidth=(float)
(scaleWidth*scale);
scaleHeight=(float)
(scaleHeight*scale);
/*
產生reSize後的Bitmap對象
*/
Matrix
matrix
=
new
Matrix();
matrix.postScale(scaleWidth,
scaleHeight);
Bitmap
resizeBmp
=
Bitmap.createBitmap(bmp,0,0,bmpWidth,
bmpHeight,matrix,true)
㈧ 如何將裁剪出來的圖片適配圖片框的大小 android開發
圖片的等比例縮放,第一個參數是圖片路徑,第二個是最終所需要圖片的(寬高里取值最大的)的最大值
[java] // 限制值MaxSize*(2/3)=實際使用值的比較值IMAGE_MAX_SIZE
// 例如:限制圖片大小為400,則實際使用的比較值應為400*(2/3)
// 260*2/3=390
public static Bitmap decodeFile(String path, int MaxSize) {
File f = new File(path);
int IMAGE_MAX_SIZE = MaxSize * 2 / 3;
Bitmap b = null;
try {
// Decode image size
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
//FileInputStream fis = new FileInputStream(f);
//BitmapFactory.decodeStream(fis, null, o);
//fis.close();
double scale = 1;
if (o.outHeight > IMAGE_MAX_SIZE || o.outWidth > IMAGE_MAX_SIZE) {
scale = Math.pow(2, (int) Math.round(Math.log(IMAGE_MAX_SIZE / (double) Math.max(o.outHeight, o.outWidth)) / Math.log(0.5)));
}
// Decode with inSampleSize
BitmapFactory.Options o2 = new BitmapFactory.Options();
o2.inSampleSize = (int) scale;
FileInputStream fis = new FileInputStream(f);
b = BitmapFactory.decodeStream(fis, null, o2);
fis.close();
} catch (FileNotFoundException e) {
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return b;
}
㈨ android 如何實現對view的放大和縮小
圖片放大縮小方法如下:
圖片放大縮小就是使用Matrix類,而這里通過手勢控制,那自然是需要監聽onTouch事件,所以原理簡單來說,就是通過監聽onTouch的各種事件來控制Matrix類了。
{
privatefinalstaticStringTAG="MatrixImageView";
;
/**模板Matrix,用以初始化*/
privateMatrixmMatrix=newMatrix();
/**圖片長度*/
privatefloatmImageWidth;
/**圖片高度*/
privatefloatmImageHeight;
publicMatrixImageView(Contextcontext,AttributeSetattrs){
super(context,attrs);
MatrixTouchListenermListener=newMatrixTouchListener();
setOnTouchListener(mListener);
mGestureDetector=newGestureDetector(getContext(),newGestureListener(mListener));
//背景設置為balck
setBackgroundColor(Color.BLACK);
//將縮放類型設置為FIT_CENTER,表示把圖片按比例擴大/縮小到View的寬度,居中顯示
setScaleType(ScaleType.FIT_CENTER);
}