我正在使用自定义相机,我想在连拍模式下拍摄3张图像并将其作为动画保存到SD卡中。其扩展名为.gif,并将其中的3个捕获帧组合在一起。 还想将图像捕获时间保存在数据库中。
答案 0 :(得分:1)
你能使用ImageMagick吗?它是免费的here。它有一组命令行工具以及Perl,Java,PHP,C ++,Python,Ruby等的绑定。
如果是这样,只需执行此操作即可将当前文件夹中的所有jpeg转换为动画GIF:
convert -delay 20 -loop 0 *.jpg animated.gif
ImageMagick适用于Android。
答案 1 :(得分:0)
用于数据库工作
ImageHandling ih = null;
ih = new ImageHandling(this);
ih.getBitmapAsByteArray(R.drawable.imgename);
insertData(ih.getBitmapAsByteArray(R.drawable.imgename));
private void insertData( byte[] bitmapData){
values.put("imagename", bitmapData);
}
然后最后
public class ImageHandling {
Resources res;
Activity activity;
public ImageHandling(Activity a) {
activity = a;
res = a.getResources();
}
private Bitmap getBitmapFromResource(int resourceId){
Bitmap bitmap = null;
bitmap = BitmapFactory.decodeResource(res, resourceId);
return bitmap;
}
public byte[] getBitmapAsByteArray(int resourceId){
ByteArrayOutputStream outputStream = null;
byte[] bitmapByteArray = null;
try {
outputStream = new ByteArrayOutputStream();
Bitmap bitmap = getBitmapFromResource(resourceId);
bitmap.compress(CompressFormat.PNG, 0, outputStream);
bitmapByteArray = outputStream.toByteArray();
} catch (Exception e) {
e.printStackTrace();
}finally{
if(outputStream != null){
try {
outputStream.flush();
outputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return bitmapByteArray;
}}