首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使较小的画布匹配父

使较小的画布匹配父
EN

Stack Overflow用户
提问于 2013-11-22 11:20:47
回答 1查看 679关注 0票数 1

我有一张正方形的帆布,是640x640 px。我希望这个画布匹配它的父版本,即720x720px。我试过缩放它,但是正方形的大小保持不变,但是内容被缩放了。这就是我要做的。

代码语言:javascript
复制
    mBitmap = Bitmap.createBitmap(640, 640, Bitmap.Config.ARGB_8888);
    mCanvas = new Canvas(mBitmap);
    mCanvas.scale(1.125f, 1.125f);

在布局xml中,画布被设置为匹配父级和父级。

代码语言:javascript
复制
<view class="com.example.classes.SquareLayout"
    android:id="@+id/image_frame"
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:background="#999999">

    <view class="com.example.classes.PhotoCanvas"
        android:id="@+id/photo_canvas"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true" />

</view>

(其父级的300 in将更改为宽度在: SquareLayout中的任何宽度。

PhotoCanvas:

代码语言:javascript
复制
public PhotoCanvas (Context c, AttributeSet attrs) {
    super(c, attrs);
    this.c = c;
    mBitmapPaint = new Paint(Paint.DITHER_FLAG);

    mPaint = new Paint();
    mPaint.setAntiAlias(true);
    mPaint.setDither(true);
    cameraIcon = BitmapFactory.decodeResource(c.getResources(), R.drawable.ic_take_photo);

    try {
        mCallback = (OnAreaClickedListener) c;
    } catch (ClassCastException e) {
        throw new ClassCastException(c.toString() + " must implement OnHeadlineSelectedListener");
    }
}


@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
    super.onSizeChanged(w, h, oldw, oldh);
    mBitmap = Bitmap.createBitmap(640, 640, Bitmap.Config.ARGB_8888);
    mCanvas = new Canvas(mBitmap);
    mCanvas.scale(1.125f, 1.125f);
    Log.i(Constants.TAG, "onSizeChanged");
}

@Override
protected void onDraw(Canvas canvas) {
    canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);
    layoutDraw();

    Log.i(Constants.TAG, "onDraw");
}

我想要的是稍后创建一个图像,在所有屏幕大小、密度和分辨率上都是640x640 px。有什么建议吗?

编辑:添加xml

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-22 12:57:08

我刚意识到我的方法不对。画布的大小并不重要。我会让它匹配每部手机,然后当它的图片节省时间,我只是缩放到所需的大小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20143664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档