Je ne sais pas comment appliquer un effet différent sur l'image,
J'ai vu le EffectFactory class et Effect class dans la classe d'effet il y a une méthode apply mais je ne suis pas sûr de ce qu'il faut transmettre dans inputTexId et optputTexId, et depuis où j'obtiens la nouvelle image mise à jour, comment stocker l'image mise à jour dans imageView,
S'il vous plaît aidez-moi avec la façon d'aborder ce problème. Existe-t-il une bibliothèque opensource disponible pour fournir des effets sur Image.
Merci,
J'ai implémentéLa bibliothèque de traitement d'images Java de Jerry. Fonctionne bien pour moi.
TéléchargerAndroidJars.
Modifier
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
//Find the bitmap's width height
int width = AndroidUtils.getBitmapOfWidth(getResources(), R.drawable.ic_launcher);
int height = AndroidUtils.getBitmapOfHeight(getResources(), R.drawable.ic_launcher);
//Create a filter object.
GaussianFilter filter = new GaussianFilter();
//set???? function to specify the various settings.
filter.setRadius(8.5f);
//Change int Array into a bitmap
int[] src = AndroidUtils.bitmapToIntArray(bitmap);
//Applies a filter.
filter.filter(src, width, height);
//Change the Bitmap int Array (Supports only ARGB_8888)
Bitmap dstBitmap = Bitmap.createBitmap(src, width, height, Config.ARGB_8888);
Trouvez des informations plus détaillées surAndroid-jhlabs
Vous pouvez utiliser Catalano Framework:
http://code.google.com/p/catalano-framework/
FastBitmap image = new FastBitmap(bitmap);
image.toRGB();
//Sepia
Sepia sepia = new Sepia();
sepia.applyInPlace(image);
//Blur
Blur blur = new Blur();
blur.applyInPlace(image);
//Emboss
Emboss emboss = new Emboss();
emboss.applyInPlace(image);
//Retrieve bitmap
bitmap = fb.toBitmap();
Oui, vous pouvez utiliser de nombreux effets avec aviary sdk ..
Visitez http://www.aviary.com/Android
Pour des effets plus avancés, vous pouvez utiliser Opencv .. Ce sont les meilleurs ..
Vous pouvez également essayer this project qui gère un certain nombre de Bitmap Processing
Filtres: -
Étant donné qu’il est en Java et qu’il traite les étiquettes de pixels, il n’est pas aussi rapide que la plupart des bibliothèques basées sur C++, mais il fonctionne très bien si la taille des images n’est pas très grande, par exemple les vignettes.
C'est une excellente bibliothèque, facile à intégrer à gradle, rapide , Efficace et qui m'a sauvé la journée:
https://github.com/wasabeef/picasso-transformations
voici un exemple d'utilisation:
Transformation trans1 = new ContrastFilterTransformation(getActivity(), 1.5f);
Transformation trans2 = new BrightnessFilterTransformation(getActivity(), 0.2f);
Picasso.with(getActivity()).load(uri)
.transform(trans1).transform(trans2).into(imageview3);