【问题标题】:Scaling Bitmaps Without Throwing Quality在不提高质量的情况下缩放位图
【发布时间】:2014-09-13 18:23:10
【问题描述】:

我创建了一个应用程序,它实际上使用洪水填充算法来填充位图中的颜色。我已经创建了一些位图 (200x200),但我不知道我应该创建的位图的确切大小,我希望位图覆盖全屏,当我缩放位图时,它们会变得模糊,并且洪水填充对它们不起作用。我看到一个使用 GridView 显示图像并单击图像启动新活动的应用程序,图像覆盖全屏。我怎样才能做到这一点。附件是我用来显示位图的 CustomImage。任何帮助将不胜感激。 已编辑:我知道 GridView 不会将图像放大到全屏,它使用另一个图像。该应用程序在不同的屏幕尺寸下表现相同,任何尺寸的图像填充屏幕而不影响质量。

公共类 CustomImage 扩展视图 {

public CustomImage(Context context) {
    super(context);
} // end constructor

public CustomImage(Context context, int resource_id) {
    super(context);
    mPaint = new Paint();
    mPaint.setColor(Color.WHITE);
    mPoint = new Point();
    mProgressIndicator = (ProgressIndicator) context;
    mBitmap = BitmapFactory.decodeResource(getResources(), resource_id)
            .copy(Bitmap.Config.ARGB_8888, true);

} // end constructor

@Override
protected void onDraw(Canvas canvas) {
    // draw image
    canvas.drawBitmap(mBitmap, 0, 0, mPaint);
} // end onDraw

@Override
public boolean onTouchEvent(MotionEvent event) {

    int bWidth = mBitmap.getWidth();
    int bHeight = mBitmap.getHeight();

    mPoint.x = (int) event.getX();
    mPoint.y = (int) event.getY();

    mPoint.x = (mPoint.x > bWidth) ? (bWidth - 5) : mPoint.x;
    mPoint.y = (mPoint.y > bHeight) ? (bHeight - 5) : mPoint.y;

    switch (event.getAction()) {
    // called when screen clicked i.e New touch started
    case MotionEvent.ACTION_DOWN:
        mProgressIndicator.updateProgress(0);
        new Filler(mBitmap, mPoint, mPaint.getColor(), mBitmap.getPixel(
                mPoint.x, mPoint.y), this).execute();
        invalidate();
    } // end Case
    return true;
} // end onTouchEvent

public void setColor(int color) {
    mPaint.setColor(color);
} // end setColor

} // 结束类

【问题讨论】:

    标签: android bitmap fullscreen


    【解决方案1】:

    您看到的GridView 可能使用了同一图像的两个版本。一个作为大图像,另一个作为网格的缩小缩略图。

    【讨论】:

    • 是的,他们使用缩略图,但在新活动中,大图像覆盖全屏。我说的是该图像,该图像如何在不损失质量的情况下缩放到全屏尺寸。
    • intrepidkarthi 暗示来自 GridView 的图像根本没有按比例放大。 GridView 仅显示从全尺寸位图派生的小缩略图:在从网格中选择其缩略图后显示全尺寸版本。
    • 全尺寸图像如何适应各种屏幕尺寸?
    • 您必须设置布局的宽度、高度以匹配父尺寸。
    • 显示你的布局 xml 文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    相关资源
    最近更新 更多