我想创建支持不同颜色的自定义相机
拍摄图像的效果...我想在我的
上自定义颜色效果 相机 。我在设备中添加了一些内置效果,但我没有
想法我如何应用其他效果,例如雪花飘落效果
来自here
以及许多其他颜色效果。
请给我一些提示或任何对我有帮助的链接
我的效果代码是
((ImageView)findViewById(R.id.e1)).setOnClickListener(onButtonClick);
private View.OnClickListener onButtonClick = new View.OnClickListener() {
@Override
public void onClick(View v) {
switch(v.getId())
{
case R.id.e1: MonoEffect();
break;}
}
};
private void MonoEffect()
{
Camera.Parameters parameters =mCamera.getParameters();
parameters.setColorEffect(android.hardware.Camera.Parameters.EFFECT_MONO);
mCamera.setParameters(parameters);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cameraPreviewLayout = (FrameLayout) findViewById(R.id.camera_preview);
//this code is holding an realtime overlay
RelativeLayout layout = (RelativeLayout) findViewById(R.id.preview);
FrameLayout fr = new FrameLayout(this);
fr.setBackgroundResource(R.drawable.snow);
ImageView b1 = new ImageView(this);
b1.setBackgroundResource(R.drawable.snow);
fr.addView(b1);
layout.addView(fr);
/*一个解决方案可能是,如果您想在相机布局上获得实时效果,您可以在预览上添加覆盖图。雪是具有透明背景的 png 格式图片 */之后...添加相机输出和透明雪花效果...
Bitmap cameraBitmap =BitmapFactory.decodeByteArray(data, 0, data.length);
Bitmap overlayBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.snow);
Bitmap cameraScaledBitmap = Bitmap.createScaledBitmap(cameraBitmap, 1200, 1600, true);
int wid = cameraScaledBitmap.getWidth();
int hgt = cameraScaledBitmap.getHeight();
Bitmap newImage = Bitmap.createBitmap(wid,hgt, Bitmap.Config.ARGB_8888);
Bitmap overlayScaledBitmap = Bitmap.createScaledBitmap(overlayBitmap, wid, hgt, true);
Canvas canvas = new Canvas(newImage);
canvas.drawBitmap(cameraBitmap , 0, 0, null);
canvas.drawBitmap(overlayScaledBitmap , 0, 0, null);
现在你已经得到了名为overlayScaledBitmap的最终位图。现在保存它。不要紧张大约1200,1600。我刚刚将相机输出位图和雪透明png缩放为相同的尺寸。我目前正在处理与你所询问的相同的项目。我想听取你的任何建议。 https://www.facebook.com/mohammad.mukul.37
我是一名优秀的程序员,十分优秀!