今天在寫執行個體17的時候,發生一個錯誤,在320*480的模擬器中還可以進行的遊戲,到480*800的真機中,圖片就變得殘缺了,原因是因為我採用了自己寫的一個精靈類,建立精靈類時需要輸入一幀的長度和寬度。
但是當我們擷取圖片時,系統會根據手機解析度自動擴大或縮小圖片,對於精靈類來說就有一個弊端,在320*480中每幀的寬度是50,到480*800中就變大了,那麼截取圖片就會不全,甚至出現錯誤.解決方案是直接拿圖片的大小去除於多少幀,就可以
下面是我的一個寫的一個demon,在不同手機上的效果
關鍵代碼:
Java代碼
package com.wjh.testSize;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
public class TestImageSizeActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Bitmap bitmap =
BitmapFactory.decodeResource(getResources(),R.drawable.chick);
TextView tv = (TextView)findViewById(R.id.tv);
tv.setText("width:"+bitmap.getWidth()+",height"+bitmap.getHeight());
}
}
作者“漢堡的部落格”