写真をキャプチャし、画像を保存します。次に、と を使用しImageView
て、あらゆる種類の効果を適用できます。ここで、画像をグレースケールにするための小さなサンプルを示しますBitmap
ColorMatrix
public void toGrayscale() {
ColorMatrix matrix = new ColorMatrix();
matrix.setSaturation(0);
ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix);
imageView.setColorFilter(filter);
}
効果を適用した後、次のようにドローアブルを画像ファイルに保存します。
public void saveDrawable(ImageView imageView) throws FileNotFoundException {
Bitmap bitmap = getBitmapFromImageView(imageView);
OutputStream fOut = null;
try {
fOut = new FileOutputStream(absolutePath);
bitmap.compress(Bitmap.CompressFormat.JPEG, 95, fOut);
} finally {
if (fOut != null) {
try {
fOut.close();
} catch (IOException e) {
//report error
}
}
}
}
@NonNull
private Bitmap getBitmapFromImageView(ImageView imageView) {
Drawable drawable = imageView.getDrawable();
Rect bounds = drawable.getBounds();
Bitmap bitmap = Bitmap.createBitmap(bounds.width(), bounds.height(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
drawable.draw(canvas);
return bitmap;
}
あなたを助ける良いライブラリがありますhttps://github.com/chrisbanes/PhotoView
指でこの質問を描くには、Androidで指と一緒にimageviewに線を引く方法が役立ちます
その助けを願っています!!