2013-10-01 5 views
2

Je veux utiliser WarpFilter de jhlabs dans mon application android.Pour que j'ai utilisé pot fourni par jhlabs mais dans ce, il n'y a pas de définition de classe WarpFilter. Je ai renvoyé WarpFilter et this link.I a essayé d'utiliser cette classe en le copiant dans mon application. Mais le problème est que, il utilise des classes qui ne sont pas supportées par Android SDK. J'ai également renvoyé Google code lien, mais il ne fournit pas non plus d'implémentation pour cela. S'il vous plaît, n'importe qui peut me suggérer une solution? Y a-t-il d'autres librabry/pot qui fournissent la facilité d'image de déformation? S'il vous plaît aidez-moi à résoudre ce problème.comment utiliser Warp filtre de jhlabs bibliothèque d'images dans android

Merci.

+0

avez-vous trouvé la réponse? – Arash

+0

non ... je n'ai pas trouvé de solution – zanky

+0

des idées en ce moment? J'ai la même situation en ce moment .. –

Répondre

0

Utilisez un filtre comme ceci:

final Bitmap bmporg = BitmapFactory.decodeByteArray(byteArrayorg, 0, byteArrayorg.length); 

Line line1 = new Line(0, 0, bmporg.getWidth(), 0); 
Line line2 = new Line(0, bmporg.getHeight()/2, bmporg.getWidth(), bmporg.getHeight()/2); 
Line line3 = new Line(0, bmporg.getHeight(), bmporg.getWidth(), bmporg.getHeight()); 

final Line[] lineArray = {line1, line2, line3 }; 

Line line4 = new Line(0, 0, bmporg.getWidth(), bmporg.getHeight()); 
Line line5 = new Line(0, 0, bmporg.getWidth(), bmporg.getHeight()); 
Line line6 = new Line(0, 0, bmporg.getWidth(), bmporg.getHeight()); 

final Line[] lineArray2 = {line4, line5, line6 }; 

FieldWarpFilter fieldWarpFilter = new FieldWarpFilter(); 
fieldWarpFilter.setAmount(amountFieldWarpFilter); 
fieldWarpFilter.setPower(powerFieldWarpFilter); 
fieldWarpFilter.setStrength(strengthFieldWarpFilter); 
fieldWarpFilter.setInLines(lineArray); 
fieldWarpFilter.setOutLines(lineArray2); 
int[] src22 = AndroidUtils.bitmapToIntArray(bmporg); 
int width22 = bmporg.getWidth(); 
int height22 = bmporg.getHeight(); 
int[] dest22 = fieldWarpFilter.filter(src22, width22, height22); 
Bitmap destBitmap = Bitmap.createBitmap(dest22, width22, height22, Bitmap.Config.ARGB_8888); 

imageView1.setImageBitmap(destBitmap); 
Questions connexes