【问题标题】:Set image inside x,y image在 x,y 图像内设置图像
【发布时间】:2012-07-11 18:11:48
【问题描述】:

可以在像素坐标中的其他图像中设置任何图像吗?

第一张图是大图,第二张图是用户的标志。

我认为女巫帆布这是可能的,但我不确定。

谁有这方面的例子?

【问题讨论】:

  • 你想在哪里设置第二张图片?底部,顶部,中心......
  • 在一个像素坐标里面的第一张图片,例如(100,22);
  • @AleksG 他不想复制,而是想在其他图像中设置图像。
  • @Paresh 有什么区别?您有一个大位图,然后从特定点开始将小位图复制到它上面

标签: android image canvas imageview


【解决方案1】:

您可以使用FrameLayout,将大图设为背景,将小图设为前景。您可以使用android:layout_gravity 属性更改其重力。 FrameLayout 文档 here。希望这会有所帮助。

【讨论】:

  • 这不会让您将小图像设置在特定的 x/y 位置。
  • @neilmw,实际上会,但就支持多屏幕而言,这不是一个好主意。使用重力总是更好。
【解决方案2】:

您可以将第一个图像作为从 ImageView 扩展的类的内容。然后在这个类中,重写onDraw(Canvas canvas),在你指定的坐标处将第二张图片绘制为Bitmap。

例如

public class DoubleImage extends ImageView
{
    private Bitmap mSecondBitmap;
    public DoubleImage(Context context, AttributeSet attrs)
    {
         super(context, attrs);

         // load the second image into mSecondBitmap
         mSecondBitmap = BitmapFactory.decodeResource(context, R.drawable.my_second_image);
    }

    @Override
    protected void onDraw(Canvas canvas)
    {
        super.onDraw(canvas);

        canvas.drawBitmap(mSecondImage, x, y, null);
    }
}

【讨论】:

    猜你喜欢
    • 2014-12-10
    • 2016-02-02
    • 2021-12-16
    • 2014-12-10
    • 2013-04-27
    • 1970-01-01
    • 1970-01-01
    • 2017-05-21
    • 1970-01-01
    相关资源
    最近更新 更多