使用drawBitmap缩放位图

use*_*962 2 android bitmap scale

基本上我有640 x 480图像,我想使用drawBitmap缩放和绘制它.为简单起见,我只想说我有854 x 480安卓屏幕.这是我的代码

MainActivity.java

public class MainActivity extends Activity
{
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(new MainLayout(this));
  }
}
class MainLayout extends RelativeLayout
{
  public MainLayout(Context context)
  {
    super(context);
    setWillNotDraw(false);
  }
  @Override
  public void onDraw(Canvas canvas)
  {
    super.onDraw(canvas);
    Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.background);
    bitmap = Bitmap.createScaledBitmap(bitmap, 854, 480, true);
    canvas.drawBitmap
    (
      bitmap,
      null,
      new Rect(0, 0, 854, 480),
      null
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

结果与我想要的不同.有什么建议吗?

sac*_*n10 6

用这个

Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setFilterBitmap(true);
paint.setDither(true);

canvas.drawBitmap(bitmap, x, y, paint);
Run Code Online (Sandbox Code Playgroud)