如何在Android的画布中添加3张图像

如何在Android的画布中添加3张图像,第1张

概述我想在画布上一个接一个添加3张图像.这是我的代码:publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);ImageButtonim1=(ImageButton)findViewById(R.id.btnPN);im1.setBackgroundD

我想在画布上一个接一个添加3张图像.
这是我的代码:

public voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.main);    Imagebutton im1 = (Imagebutton)findVIEwByID(R.ID.btnPN);     im1.setBackgroundDrawable(getimage());       }public BitmapDrawable getimage(){    Drawable image1 = getResources().getDrawable(R.drawable.imagename);    Drawable image2 = getResources().getDrawable(R.drawable.imagename);    Drawable image3 = getResources().getDrawable(R.drawable.imagename);    Bitmap bitmap = Bitmap.createBitmap(image1.getIntrinsicWIDth()                      +image2.getIntrinsicWIDth()+image3.getIntrinsicWIDth(),          image1.getIntrinsicHeight(),Bitmap.Config.Alpha_8);    Canvas canvas = new Canvas(bitmap);    image1.setBounds(0, 0, image1.getIntrinsicWIDth(), image1.getIntrinsicHeight());    image1.draw(canvas);    image2.setBounds(image1.getIntrinsicWIDth(), 0, image2.getIntrinsicWIDth(),            image2.getIntrinsicHeight());    image2.draw(canvas);    image3.setBounds(image1.getIntrinsicWIDth()+image2.getIntrinsicWIDth(),                      0, image3.getIntrinsicWIDth(),                      image3.getIntrinsicHeight());    image3.draw(canvas);    BitmapDrawable bu = new BitmapDrawable(bitmap);    return bu;    

}

但这不起作用.

有人可以告诉我我在做什么错.

谢谢,
法哈

解决方法:

不久前,我不得不解决类似的问题,而您的解决方案就快要解决了.但是,您应该使用Rect对象来偏移每次绘制位图的位置.假设您已将所有图像复制到位图图像数组中,并且像上面一样创建了位图和画布,请使用以下命令:

Rect srcRect;Rect dstRect;for (int i = 0; i < images.length; i++){    srcRect = new Rect(0, 0, images[i].getWIDth(), images[i].getHeight());    dstRect = new Rect(srcRect);    if (i != 0){        dstRect.offset(images[i-1].getWIDht(), 0)    }    canvas.drawBitmap(images[i], srcRect, dstRect, null);}

这会将它们全部复制到一行.使用两个for循环将其适应以将4张图像复制到一个正方形或类似的图像中并不是很困难.

总结

以上是内存溢出为你收集整理的如何在Android的画布中添加3张图像全部内容,希望文章能够帮你解决如何在Android的画布中添加3张图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1082357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存