0

画像処理用のAndroid用アプリをやっています。

物事をより速く行うために、サンプル画像にフィルターを適用していました(Googleが推奨するinSampleSizeを使用)

写真を保存すると(元の画像に効果を適用すると)、処理が完了するまでに約16秒かかります(銀河ネクサスで5 mpx)ので、画像を処理するより高速な方法があるかどうかを考えていました.

これは、実際の画像に効果を適用するコードです:

public void executeRealEffect(FileOutputStream ostream)
        throws InstantiationException, IllegalAccessException,
        ClassNotFoundException {//...

    ImageProcessing imp;
    imp = (ImageProcessing) Class.forName(effectUsed).newInstance();
    savePhoto = imp.doEffect(BitmapFactory.decodeFile(pathToPhotoUsed)); 

    savePhoto.compress(CompressFormat.JPEG, 100, ostream);//...

}

これはアプリを試すためにインターネットから取得した効果です: http://xjaphx.wordpress.com/2011/06/21/image-processing-grayscale-image-on-the-fly/

4

1 に答える 1

0

こんなポイントが使えます

BitmapFactory.Options options = new BitmapFactory.Options();
        options.inSampleSize = 4;
savePhoto.compress(CompressFormat.JPEG, 0, ostream);
savePhoto = imp.doEffect(BitmapFactory.decodeFile(pathToPhotoUsed,options));
于 2013-09-24T11:36:02.730 に答える