我想通过在现有图像之上添加文本来编辑图像。我试过了,但是ImageView中的drawable消失了:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnAdd=(Button) findViewById(R.id.btnAdd);
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
EditText firstNum=(EditText)findViewById(R.id.fisrtNum);
EditText secondNum=(EditText)findViewById(R.id.secondNum);
TextView sumTV=(TextView)findViewById(R.id.sumTV);
ImageView picIV=(ImageView) findViewById(R.id.picIV);
Bitmap bitmap = Bitmap.createBitmap(300, 200, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setTextSize(42);
paint.setTextAlign(Paint.Align.CENTER);
canvas.drawText("hello world",150,30,paint);
paint.setColor(Color.BLUE);
canvas.drawCircle(50, 50, 10, paint);
picIV.setImageBitmap(bitmap);
picIV.setImageDrawable(new BitmapDrawable(getResources(), bitmap));
sumTV.setText(result+"");
}
}
}
谢谢您帮助寻找解决方案。我的目标是能够编辑图像并将其发送到其他应用。
感谢您的链接。很有帮助。原来我没有正确声明我的位图。
这解决了问题
picIV.buildDrawingCache();
Bitmap bitmap= picIV.getDrawingCache();
已弃用的方法,但是可以使用。