我有一个按钮,我想在点击它时创建flag.png图像并将其放在画布上的任何位置
这是我的标志按钮代码
// the flag button
Button flag = (Button) findViewById(R.id.btnFlag1);
flag.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
flag(R.drawable.flag1);
}
});
这是我的功能
public void flag(int resourceID) {
Bitmap flagBitmap = BitmapFactory.decodeResource(
getResources(), resourceID);
Canvas c = new Canvas(flagBitmap);
c.drawBitmap(flagBitmap, null, null);
}
没有任何事情发生..
标志是圆形的,我把它们作为按钮,我想要的是在点击每个按钮时添加它们的标志,我可以把它放在我想要的地方
喜欢任何照片编辑应用的笑脸
答案 0 :(得分:1)
我不明白为什么你提到在你的问题中使用imageview而你正在使用的是画布来绘制位图图像。如果你想以imageview方式进行,这里有一些代码可以帮助你:
ImageView pic = (ImageView) findViewById(R.id.imageview);
Bitmap img=BitmapFactory.decodeResource(getResources(),R.drawable.flag1);
pic.setImageBitmap(img);
确保在xml文件中声明您的imageview。如果有任何其他问题或者我的问题出错,请随时发表评论。
修改强>
Matrix matrix = new Matrix();
matrix.reset();
matrix.postTranslate(x, y);
pic.setScaleType(ScaleType.MATRIX);
pic.setImageMatrix(matrix);
而不是x和y,将x和y坐标插入要放置标记的位置。