将多个图像合并为一个图像
Merge multiple images into single image
我正在尝试创建具有图形结构的应用程序 - 空白字段,有机会放置道路、建筑物等。我使用了带有 10*20 单元格的 TableLayout,单击时会填充可绘制对象。如何从所有单元格中获取完整图像作为单个可绘制对象?
构造函数
Drawable currentDrawable;
@OnClick({R.id.road_btn, R.id.build_btn, R.id.road_turn_btn})
void setCurrentView(ConstructorButton view) {
currentDrawable = view.getDrawable();
}
private void initTable() {
for (int row = 0; row <= 10; row++) {
TableRow tr = new TableRow(this);
for (int column = 0; column <= 20; column++) {
final ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.ic_grass);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageView.setImageDrawable(currentDrawable);
}
});
tr.addView(imageView, 60, 60);
}
tableLayout.addView(tr);
}
}
您可以使用绘图缓存获取整个视图层次结构的图像:
public Bitmap createBitmapFromView(View v) {
v.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(v.getDrawingCache());
v.setDrawingCacheEnabled(false);
return bitmap;
}
可以保存Bitmap
,或者在BitmapDrawable
中使用
我正在尝试创建具有图形结构的应用程序 - 空白字段,有机会放置道路、建筑物等。我使用了带有 10*20 单元格的 TableLayout,单击时会填充可绘制对象。如何从所有单元格中获取完整图像作为单个可绘制对象?
构造函数
Drawable currentDrawable;
@OnClick({R.id.road_btn, R.id.build_btn, R.id.road_turn_btn})
void setCurrentView(ConstructorButton view) {
currentDrawable = view.getDrawable();
}
private void initTable() {
for (int row = 0; row <= 10; row++) {
TableRow tr = new TableRow(this);
for (int column = 0; column <= 20; column++) {
final ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.ic_grass);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageView.setImageDrawable(currentDrawable);
}
});
tr.addView(imageView, 60, 60);
}
tableLayout.addView(tr);
}
}
您可以使用绘图缓存获取整个视图层次结构的图像:
public Bitmap createBitmapFromView(View v) {
v.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(v.getDrawingCache());
v.setDrawingCacheEnabled(false);
return bitmap;
}
可以保存Bitmap
,或者在BitmapDrawable