package org.ffmpeg.android.filters;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
public class DrawBoxVideoFilter extends OverlayVideoFilter {
public int x;
public int y;
public int width;
public int height;
public String color;
public DrawBoxVideoFilter (int x, int y, int width, int height, int alpha, String color, File tmpDir) throws Exception
{
this.x = x;
this.y = y;
this.width = width;
this.height = height;
this.color = color;
if( alpha < 0 || alpha > 255 ) {
throw new IllegalArgumentException("Alpha must be an integer betweeen 0 and 255");
}
Paint paint = new Paint();
paint.setAlpha(alpha);
Bitmap bitmap = Bitmap.createBitmap(width, height, Config.ARGB_8888);
bitmap.eraseColor(Color.parseColor(color));
Bitmap temp_box = Bitmap.createBitmap(width, height, Config.ARGB_8888);
Canvas canvas = new Canvas(temp_box);
canvas.drawBitmap(bitmap, 0, 0, paint);
File outputFile;
outputFile = File.createTempFile("box_"+width+height+color, ".png", tmpDir);
FileOutputStream os = new FileOutputStream(outputFile);
temp_box.compress(Bitmap.CompressFormat.PNG, 100, os);
overlayFile = outputFile;
xParam = Integer.toString(x);
yParam = Integer.toString(y);
}
}