【问题标题】:Android: bad quality backgroundAndroid:质量差的背景
【发布时间】:2013-02-05 08:36:26
【问题描述】:

我想问为什么即使我设置了选项,背景质量仍然很低? 我的代码:

class GameView extends SurfaceView implements SurfaceHolder.Callback {

 GameThread thread;

BitmapFactory.Options options = new BitmapFactory.Options();
int screenW;
int screenH;
int bgrW;
int bgrH;
Bitmap bgr;

public GameView(Context context, AttributeSet attrs) {
super(context);

    options.inPreferredConfig = Bitmap.Config.ARGB_8888;
    options.inSampleSize = 1;
    options.inScaled = false;
    options.inDither = false;
    bgr = BitmapFactory.decodeResource(getResources(), R.drawable.gamebg, options);
    getHolder().addCallback(this);
    setFocusable(true);
    }

@Override
public void onSizeChanged (int w, int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);
    screenW = w;
    screenH = h;
    bgr = Bitmap.createScaledBitmap(bgr, w, h, true);
    bgrW = bgr.getWidth();
    bgrH = bgr.getHeight();
}

@Override
public void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    canvas.drawBitmap(bgr, 0, 0, null);
}

由于在这个论坛上找到了一些答案,上面的代码应该是正确的。我想知道 onDraw() 或 onSizeChanged() 区域是否缺少某些声明。

【问题讨论】:

  • 可以添加截图吗?
  • 你在哪里执行上面的代码??在模拟器或设备中??
  • 试试 GauravKumawat 的以下解决方案,它对我有用...
  • 这里是:link,原文:link

标签: android background bitmap bitmapfactory


【解决方案1】:

尝试使用九个补丁图像而不是简单图像: 去

android-sdk\android-sdk-windows\tools\draw9patch

并选择您想要的图像并将它们转换为九个补丁 现在它们看起来会很好

【讨论】:

  • 谢谢,但在我的情况下,draw9patch 不起作用,我得到了和以前一样的效果。
  • 此外,我在游戏菜单中得到了类似的图像。在那里我通过我的 XML 文件调用它,它的质量就像在 PC 上一样。
  • 你双击draw9patch了吗??
  • 是吗?我什至打开了图像并将图像保存为 gamebg.9.png
猜你喜欢
  • 2014-03-27
  • 2012-01-15
  • 2011-06-15
  • 2012-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多