拍摄Android Studio时放置框架

时间:2017-07-04 22:55:47

标签: java android xamarin jboss iconic

我想开发一个拍摄照片的应用程序,并允许您选择一个摄影框架。

我已经开发了界面,比如拍照并存储它。

但是我把照片放到我拍摄的照片上。

任何建议?

2 个答案:

答案 0 :(得分:0)

您以什么格式存储拍摄的照片和相框图像?如果您打算将图片插入一个简单的框架中,我建议您首先在Canvas上绘制拍摄的图片,然后在其上绘制图片。请记住尺寸 - 你不希望你的照片太小或太大。

我在这里提供了一个示例代码段:

public Bitmap Output(Bitmap takenPhoto, Bitmap frameImage)
{        
    int width, height, x, y;
    height = ### // your desired height of the whole output image 
    width = ### // your desired width of the whole output image
    x = ### // specify indentation for the picture
    y = ###

    Bitmap result = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(result);
    Paint paint = new Paint();

    c.drawBitmap(takenPhoto, x, y, paint); // draw your photo over canvas, keep indentation in mind (x and y)
    c.drawBitmap(frameImage, 0, 0, paint); // now draw your frame on top of the image

    return result;
}

请记住,我没有测试过代码,您可能(实际上,您必须)应用更正。

答案 1 :(得分:0)

感谢您的帮助,我提出了解决方案:

ImageView Resultado;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Bitmap miBitmap = Bitmap.createBitmap(1000, 1000, Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(miBitmap);
    Paint paint = new Paint();

    c.drawBitmap(drawableToBitmap(R.mipmap.ic_launcher), 500, 500, paint); // draw your photo over canvas, keep indentation in mind (x and y)
    c.drawBitmap(drawableToBitmap(R.drawable.silver_frame), 0, 0, paint); // now draw your frame on top of the image

    Resultado.setImageBitmap(miBitmap);
}
public Bitmap drawableToBitmap(int imagen){
    return BitmapFactory.decodeResource(getApplicationContext().getResources(), imagen);
}