android - Select an area on bitmap with 4 points using Matrix.setPolyToPoly -
i playing bitmap on android , facing issue when selecting area on bitmap using 4 points. not sets of 4 points work me. in cases, result blank bitmap instead of cropped bitmap (like in picture) , there not error in logcat(even memory error). here basic code used transformation.
import android.app.activity; import android.graphics.bitmap; import android.graphics.bitmapfactory; import android.graphics.canvas; import android.graphics.matrix; import android.widget.imageview; public class cropimageactivity extends activity { private imageview mcroppedimageview; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.crop); setupviews(); docropping(); } private void docropping() { bitmap srcbitmap = bitmapfactory.decoderesource(getresources(), r.drawable.sample); //target size int bitmapwidth = 400; int bitmapheight = 400; bitmap bitmap = bitmap.createbitmap(bitmapwidth, bitmapheight, bitmap.config.argb_8888); canvas canvas = new canvas(bitmap); //this 1 of bad quadangle. points[0] = 0; //top-left.x points[1] = 0; //top-left.y points[2] = 230; //top-right.x points[3] = 100; //top-right.y points[4] = 350; //bottom-right.x points[5] = 350; //bottom-right.y points[6] = 0; //bottom-left.x points[7] = 350; //bottom-left.y float[] src = new float[]{ points[0], points[1], points[2], points[3], points[4], points[5], points[6], points[7] }; float[] dsc = new float[]{ 0, 0, bitmapwidth, 0, bitmapwidth, bitmapheight, 0, bitmapheight }; matrix matrix = new matrix(); boolean transformresult = matrix.setpolytopoly(src, 0, dsc, 0, 4); canvas.drawbitmap(srcbitmap, matrix, null); mcroppedimageview.setimagebitmap(bitmap); } private void setupviews() { mcroppedimageview = (imageview) findviewbyid(r.id.croppedimageview); } } so, 4 points coordinates affect canvas drawing or matrix transformation? appreciated.
thank you
finally, solve issue using opencv. answer in this question! seems matrix.setpolytopoly not work cases.


Comments
Post a Comment