Android: 从两个位图创建图像,位图在位图下
Android: Create image from two bitmaps, bitmap under bitmap
我想要的:用两个位图创建图像,在第一个位图下放第二个位图。
此时我使用这段代码
public static Bitmap combineImages(Bitmap background, Bitmap foreground, float disFromTheTopPercent) {
int width = background.getWidth(), height = background.getHeight();
Bitmap cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas comboImage = new Canvas(cs);
background = Bitmap.createScaledBitmap(background, width, height, true);
comboImage.drawBitmap(background, 0, 0, null);
int top = (int) (disFromTheTopPercent * height);
int left = 0;
comboImage.drawBitmap(foreground, left, top, null);
return cs;
}
糟糕的是它实际上与我的 smartfon 的身高、体重和 dpi 相关联。
当我用5寸屏和6寸屏的smartfone时是不一样的,无论不同的屏这看起来一定是一样的。
Visual presentation
感谢帮助!
试试这个代码:
public static Bitmap combineImages(Bitmap c, Bitmap s) {
Bitmap cs;
int width, height;
width = s.getWidth();
height = c.getHeight() + s.getHeight();
cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas comboImage = new Canvas(cs);
comboImage.drawBitmap(c, 0f, 0f, null);
comboImage.drawBitmap(s, 0f, c.getHeight(), null);
return cs;
}
我想要的:用两个位图创建图像,在第一个位图下放第二个位图。
此时我使用这段代码
public static Bitmap combineImages(Bitmap background, Bitmap foreground, float disFromTheTopPercent) {
int width = background.getWidth(), height = background.getHeight();
Bitmap cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas comboImage = new Canvas(cs);
background = Bitmap.createScaledBitmap(background, width, height, true);
comboImage.drawBitmap(background, 0, 0, null);
int top = (int) (disFromTheTopPercent * height);
int left = 0;
comboImage.drawBitmap(foreground, left, top, null);
return cs;
}
糟糕的是它实际上与我的 smartfon 的身高、体重和 dpi 相关联。
当我用5寸屏和6寸屏的smartfone时是不一样的,无论不同的屏这看起来一定是一样的。
Visual presentation
感谢帮助!
试试这个代码:
public static Bitmap combineImages(Bitmap c, Bitmap s) {
Bitmap cs;
int width, height;
width = s.getWidth();
height = c.getHeight() + s.getHeight();
cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas comboImage = new Canvas(cs);
comboImage.drawBitmap(c, 0f, 0f, null);
comboImage.drawBitmap(s, 0f, c.getHeight(), null);
return cs;
}